diff --git a/src/backupcleaner.js b/src/backupcleaner.js index 9362eb5e7..1aa48dd85 100644 --- a/src/backupcleaner.js +++ b/src/backupcleaner.js @@ -279,7 +279,7 @@ async function run(progressCallback) { const { retention } = await backups.getPolicy(); debug(`run: retention is ${JSON.stringify(retention)}`); - const status = await storage.api(backupConfig.provider).getProviderStatus(backupConfig); + const status = await backups.getMountStatus(); debug(`run: mount point status is ${JSON.stringify(status)}`); if (status.state !== 'active') throw new BoxError(BoxError.MOUNT_ERROR, `Backup endpoint is not mounted: ${status.message}`); diff --git a/src/backups.js b/src/backups.js index 57b246915..44ef1f747 100644 --- a/src/backups.js +++ b/src/backups.js @@ -380,7 +380,7 @@ async function getMountStatus() { } else if (backupConfig.provider === 'filesystem') { hostPath = backupConfig.backupFolder; } else { - throw new BoxError(BoxError.BAD_STATE, 'Backup location is not a mount'); + return { state: 'active' }; } return await mounts.getStatus(backupConfig.provider, hostPath); // { state, message } diff --git a/src/backuptask.js b/src/backuptask.js index 1974ebfea..8e1fea7ba 100644 --- a/src/backuptask.js +++ b/src/backuptask.js @@ -52,7 +52,7 @@ async function checkPreconditions(backupConfig, dataLayout) { assert(dataLayout instanceof DataLayout, 'dataLayout must be a DataLayout'); // check mount status before uploading - const status = await storage.api(backupConfig.provider).getProviderStatus(backupConfig); + const status = await backups.getMountStatus(); debug(`upload: mount point status is ${JSON.stringify(status)}`); if (status.state !== 'active') throw new BoxError(BoxError.MOUNT_ERROR, `Backup endpoint is not active: ${status.message}`); diff --git a/src/scripts/remountmount.sh b/src/scripts/remountmount.sh index bc5ea89bc..9decafe66 100755 --- a/src/scripts/remountmount.sh +++ b/src/scripts/remountmount.sh @@ -23,7 +23,7 @@ host_path="$1" mount_filename=$(systemd-escape -p --suffix=mount "$host_path") mount_file="/etc/systemd/system/${mount_filename}" -# stop and start will do the reumount +# stop and start will do the remount systemctl stop "${mount_filename}" systemctl start "${mount_filename}" diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index 577efa7c3..68bafe7fb 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -1,7 +1,6 @@ 'use strict'; exports = module.exports = { - getProviderStatus, getAvailableSize, upload, @@ -35,23 +34,12 @@ const assert = require('assert'), debug = require('debug')('box:storage/filesystem'), df = require('../df.js'), fs = require('fs'), - mounts = require('../mounts.js'), path = require('path'), paths = require('../paths.js'), readdirp = require('readdirp'), safe = require('safetydance'), shell = require('../shell.js'); -async function getProviderStatus(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') 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 async function getAvailableSize(apiConfig) { assert.strictEqual(typeof apiConfig, 'object'); diff --git a/src/storage/gcs.js b/src/storage/gcs.js index 2bb405e6b..0f2dd157b 100644 --- a/src/storage/gcs.js +++ b/src/storage/gcs.js @@ -1,7 +1,6 @@ 'use strict'; exports = module.exports = { - getProviderStatus, getAvailableSize, upload, @@ -61,12 +60,6 @@ function getBucket(apiConfig) { return new GCS(gcsConfig).bucket(apiConfig.bucket); } -async function getProviderStatus(apiConfig) { - assert.strictEqual(typeof apiConfig, 'object'); - - return { state: 'active' }; -} - async function getAvailableSize(apiConfig) { assert.strictEqual(typeof apiConfig, 'object'); diff --git a/src/storage/interface.js b/src/storage/interface.js index af5f7963a..884321052 100644 --- a/src/storage/interface.js +++ b/src/storage/interface.js @@ -11,7 +11,6 @@ // for the other API calls we leave it to the backend to retry. this allows // them to tune the concurrency based on failures/rate limits accordingly exports = module.exports = { - getProviderStatus, getAvailableSize, upload, @@ -44,12 +43,6 @@ function injectPrivateFields(newConfig, currentConfig) { // in-place injection of tokens and api keys which came in with constants.SECRET_PLACEHOLDER } -async function getProviderStatus(apiConfig) { - assert.strictEqual(typeof apiConfig, 'object'); - - return { state: 'active' }; -} - async function getAvailableSize(apiConfig) { assert.strictEqual(typeof apiConfig, 'object'); diff --git a/src/storage/noop.js b/src/storage/noop.js index 4d83b23c3..9244465f5 100644 --- a/src/storage/noop.js +++ b/src/storage/noop.js @@ -1,7 +1,6 @@ 'use strict'; exports = module.exports = { - getProviderStatus, getAvailableSize, upload, @@ -24,12 +23,6 @@ const assert = require('assert'), debug = require('debug')('box:storage/noop'), fs = require('fs'); -async function getProviderStatus(apiConfig) { - assert.strictEqual(typeof apiConfig, 'object'); - - return { state: 'active' }; -} - async function getAvailableSize(apiConfig) { assert.strictEqual(typeof apiConfig, 'object'); diff --git a/src/storage/s3.js b/src/storage/s3.js index de13259c3..5b3798274 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -1,7 +1,6 @@ 'use strict'; exports = module.exports = { - getProviderStatus, getAvailableSize, upload, @@ -92,12 +91,6 @@ function getS3Config(apiConfig) { return credentials; } -async function getProviderStatus(apiConfig) { - assert.strictEqual(typeof apiConfig, 'object'); - - return { state: 'active' }; -} - async function getAvailableSize(apiConfig) { assert.strictEqual(typeof apiConfig, 'object');