diff --git a/src/storage/s3.js b/src/storage/s3.js index 1de5c18b5..fe58f5dc0 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -178,13 +178,13 @@ function listDir(apiConfig, backupFilePath, options, iteratorCallback, callback) async.eachLimit(arr, options.concurrency, iteratorCallback.bind(null, s3), function iteratorDone(error) { if (error) return foreverCallback(error); - total += listData.Contents.length; + total += listData.KeyCount; + + if (!listData.IsTruncated) return foreverCallback(new Error('Done')); listParams.StartAfter = listData.Contents[listData.Contents.length - 1].Key; // NextMarker is returned only with delimiter - if (listData.IsTruncated) return foreverCallback(); - - foreverCallback(new Error('Done')); + foreverCallback(); }); }); }, function (error) {