From 8a5d4e2fb044a1fc2066c91ca75a27b7bca236e1 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Sat, 5 Nov 2022 08:43:02 +0100 Subject: [PATCH] better debugs --- src/backupformat/tgz.js | 2 ++ src/backuptask.js | 4 ++-- src/storage/filesystem.js | 8 +++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/backupformat/tgz.js b/src/backupformat/tgz.js index 8e0139589..b7d81cafd 100644 --- a/src/backupformat/tgz.js +++ b/src/backupformat/tgz.js @@ -173,6 +173,8 @@ async function upload(backupConfig, remotePath, dataLayout, progressCallback) { assert.strictEqual(typeof dataLayout, 'object'); assert.strictEqual(typeof progressCallback, 'function'); + debug(`upload: Uploading ${dataLayout.toString()} to ${remotePath}`); + return new Promise((resolve, reject) => { async.retry({ times: 5, interval: 20000 }, function (retryCallback) { retryCallback = once(retryCallback); // protect again upload() erroring much later after tar stream error diff --git a/src/backuptask.js b/src/backuptask.js index 2bfb9bb71..ca0c0b794 100644 --- a/src/backuptask.js +++ b/src/backuptask.js @@ -64,7 +64,7 @@ async function checkPreconditions(backupConfig, dataLayout) { // check mount status before uploading const status = await storage.api(backupConfig.provider).getBackupProviderStatus(backupConfig); debug(`upload: mount point status is ${JSON.stringify(status)}`); - if (status.state !== 'active') throw new BoxError(BoxError.MOUNT_ERROR, `Backup endpoint is not mounted: ${status.message}`); + if (status.state !== 'active') throw new BoxError(BoxError.MOUNT_ERROR, `Backup endpoint is not active: ${status.message}`); // check availabe size. this requires root for df to work const df = await storage.api(backupConfig.provider).getAvailableSize(backupConfig); @@ -76,7 +76,7 @@ async function checkPreconditions(backupConfig, dataLayout) { used += parseInt(result, 10); } - debug(`checkPreconditions: ${used} bytes`); + debug(`checkPreconditions: total required =${used} available=${df.available}`); const needed = 0.6 * used + (1024 * 1024 * 1024); // check if there is atleast 1GB left afterwards. aim for 60% because rsync/tgz won't need full 100% if (df.available <= needed) throw new BoxError(BoxError.FS_ERROR, `Not enough disk space for backup. Needed: ${prettyBytes(needed)} Available: ${prettyBytes(df.available)}`); diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index 6fe803bfb..83c9cd319 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -66,12 +66,10 @@ async function getBackupProviderStatus(apiConfig) { assert.strictEqual(typeof apiConfig, 'object'); // Check filesystem is mounted so we don't write into the actual folder on disk - if (mounts.isManagedProvider(apiConfig.provider) || apiConfig.provider === 'mountpoint') { - const hostPath = mounts.isManagedProvider(apiConfig.provider) ? paths.MANAGED_BACKUP_MOUNT_DIR : apiConfig.mountPoint; - return await mounts.getStatus(apiConfig.provider, hostPath); // { state, message } - } + if (!mounts.isManagedProvider(apiConfig.provider) && apiConfig.provider !== 'mountpoint') return await mounts.getStatus(apiConfig.provider, apiConfig.backupFolder); - return await mounts.getStatus(apiConfig.provider, apiConfig.backupFolder); + const hostPath = mounts.isManagedProvider(apiConfig.provider) ? paths.MANAGED_BACKUP_MOUNT_DIR : apiConfig.mountPoint; + return await mounts.getStatus(apiConfig.provider, hostPath); // { state, message } } // the du call in the function below requires root