@@ -9,8 +9,8 @@ const net = require('net');
99const fs = require ( 'fs' ) ;
1010const storj = require ( 'storj-lib' ) ;
1111const { bitcore} = storj . deps ;
12- const du = require ( 'du' ) ;
13- const diskspace = require ( 'fd-diskspace' ) . diskSpace ;
12+ const du = require ( 'du' ) ; // Get amount used
13+ const disk = require ( 'diskusage' ) ; // Get amount free
1414const assert = require ( 'assert' ) ;
1515const bytes = require ( 'bytes' ) ;
1616
@@ -107,6 +107,9 @@ exports.validateAllocation = function(conf, callback) {
107107
108108 self . getFreeSpace ( conf . storagePath , function ( err , free ) {
109109 var allocatedSpace = bytes . parse ( conf . storageAllocation ) ;
110+ if ( err ) {
111+ callback ( err ) ;
112+ }
110113
111114 self . getDirectorySize ( conf . storagePath , function ( err , usedSpaceBytes ) {
112115 if ( err ) {
@@ -176,34 +179,12 @@ exports.getFreeSpace = function(path, callback) {
176179 return callback ( null , 0 ) ;
177180 }
178181
179- diskspace ( function ( err , result ) {
180- /* jshint maxcomplexity:10 */
182+ disk . check ( path , function ( err , info ) {
181183 if ( err ) {
182184 return callback ( err ) ;
183185 }
184186
185- let free = 0 ;
186-
187- for ( let disk in result . disks ) {
188- let diskDrive = disk ;
189-
190- /* istanbul ignore if */
191- if ( process . platform === 'win32' ) {
192- diskDrive += ':\\' ;
193- }
194-
195- if ( exports . existsSync ( diskDrive ) ) {
196- if ( fs . statSync ( path ) . dev === fs . statSync ( diskDrive ) . dev ) {
197- // NB: The `df` command on gnu+linux returns KB by default
198- // NB: so we need to convert to bytes.
199- free = process . platform === 'win32' ?
200- result . disks [ disk ] . free :
201- result . disks [ disk ] . free * 1000 ;
202- }
203- }
204- }
205-
206- return callback ( null , free ) ;
187+ return callback ( null , info . available ) ;
207188 } ) ;
208189} ;
209190
0 commit comments