diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-11-17 19:23:20 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-11-17 19:23:20 +0000 |
commit | e417c7fd9b871702874019c05d45e85cb24e144e (patch) | |
tree | b2d4ea1de678c1b561870009d8b32528630c1f2e | |
parent | 1a953372f7c1c5b8fbe0abb526b07987bd5adfe0 (diff) | |
download | obnam-e417c7fd9b871702874019c05d45e85cb24e144e.tar.gz |
Add --fsck-skip-b-trees setting
-rw-r--r-- | obnamlib/plugins/fsck_plugin.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/obnamlib/plugins/fsck_plugin.py b/obnamlib/plugins/fsck_plugin.py index 784a5406..df705cc5 100644 --- a/obnamlib/plugins/fsck_plugin.py +++ b/obnamlib/plugins/fsck_plugin.py @@ -208,10 +208,11 @@ class CheckClientlist(WorkItem): def do(self): logging.debug('Checking clientlist') clients = self.repo.clientlist.list_clients() - for client_name in clients: - client_id = self.repo.clientlist.get_client_id(client_name) - client_dir = self.repo.client_dir(client_id) - yield CheckBTree(str(client_dir)) + if not self.settings['fsck-skip-b-trees']: + for client_name in clients: + client_id = self.repo.clientlist.get_client_id(client_name) + client_dir = self.repo.client_dir(client_id) + yield CheckBTree(str(client_dir)) for client_name in clients: yield CheckClientExists(client_name) for client_name in clients: @@ -256,9 +257,10 @@ class CheckRepository(WorkItem): def do(self): logging.debug('Checking repository') - yield CheckBTree('clientlist') - yield CheckBTree('chunklist') - yield CheckBTree('chunksums') + if not self.settings['fsck-skip-b-trees']: + yield CheckBTree('clientlist') + yield CheckBTree('chunklist') + yield CheckBTree('chunksums') yield CheckClientlist() @@ -272,6 +274,9 @@ class FsckPlugin(obnamlib.ObnamPlugin): ['fsck-ignore-chunks'], 'ignore chunks when checking repository integrity (assume all ' 'chunks exist and are correct)') + self.app.settings.boolean( + ['fsck-skip-b-trees'], + 'skip B-tree integrity checking') def configure_ttystatus(self): self.app.ts.clear() |