summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-08-20 17:32:27 +0100
committerLars Wirzenius <liw@liw.fi>2011-08-20 17:32:27 +0100
commit0d79bf89a24dfd9395143ccfe9bf04a3ec8413d5 (patch)
treec68e36645eeffe60e07c4c99ce24c7fb503c81d8
parent8879e2627fc26229e76a70347633b1a213d9a20f (diff)
downloadobnam-0d79bf89a24dfd9395143ccfe9bf04a3ec8413d5.tar.gz
Fix all plugins to close live data and repository filesystems properly.
-rw-r--r--obnamlib/plugins/force_lock_plugin.py1
-rw-r--r--obnamlib/plugins/forget_plugin.py1
-rw-r--r--obnamlib/plugins/fsck_plugin.py1
-rw-r--r--obnamlib/plugins/show_plugin.py4
-rw-r--r--obnamlib/plugins/verify_plugin.py3
5 files changed, 10 insertions, 0 deletions
diff --git a/obnamlib/plugins/force_lock_plugin.py b/obnamlib/plugins/force_lock_plugin.py
index 84b32aa3..a5a6671e 100644
--- a/obnamlib/plugins/force_lock_plugin.py
+++ b/obnamlib/plugins/force_lock_plugin.py
@@ -55,4 +55,5 @@ class ForceLockPlugin(obnamlib.ObnamPlugin):
repo.fs.remove(lockname)
else:
logging.info('Client is not locked')
+ repo.fs.close()
diff --git a/obnamlib/plugins/forget_plugin.py b/obnamlib/plugins/forget_plugin.py
index 8d2c70a1..d2cce343 100644
--- a/obnamlib/plugins/forget_plugin.py
+++ b/obnamlib/plugins/forget_plugin.py
@@ -60,6 +60,7 @@ class ForgetPlugin(obnamlib.ObnamPlugin):
self.remove(genid)
self.repo.commit_client()
+ self.repo.fs.close()
def remove(self, genid):
if self.app.settings['pretend']:
diff --git a/obnamlib/plugins/fsck_plugin.py b/obnamlib/plugins/fsck_plugin.py
index 79864f9d..c3e09b6e 100644
--- a/obnamlib/plugins/fsck_plugin.py
+++ b/obnamlib/plugins/fsck_plugin.py
@@ -31,6 +31,7 @@ class FsckPlugin(obnamlib.ObnamPlugin):
logging.debug('fsck on %s' % self.app.settings['repository'])
self.repo = self.app.open_repository()
self.check_root()
+ self.repo.fs.close()
def check_root(self):
'''Check the root node.'''
diff --git a/obnamlib/plugins/show_plugin.py b/obnamlib/plugins/show_plugin.py
index 13595738..3f9b043d 100644
--- a/obnamlib/plugins/show_plugin.py
+++ b/obnamlib/plugins/show_plugin.py
@@ -51,6 +51,7 @@ class ShowPlugin(obnamlib.ObnamPlugin):
self.open_repository()
for client_name in self.repo.list_clients():
print client_name
+ self.repo.fs.close()
def generations(self, args):
'''List backup generations for client.'''
@@ -67,12 +68,14 @@ class ShowPlugin(obnamlib.ObnamPlugin):
self.format_time(start),
self.format_time(end),
checkpoint))
+ self.repo.fs.close()
def genids(self, args):
'''List generation ids for client.'''
self.open_repository()
for gen in self.repo.list_generations():
sys.stdout.write('%s\n' % gen)
+ self.repo.fs.close()
def ls(self, args):
'''List contents of a generation.'''
@@ -83,6 +86,7 @@ class ShowPlugin(obnamlib.ObnamPlugin):
ended = self.format_time(0)
print 'Generation %s (%s - %s)' % (gen, started, ended)
self.show_objects(gen, '/')
+ self.repo.fs.close()
def format_time(self, timestamp):
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
diff --git a/obnamlib/plugins/verify_plugin.py b/obnamlib/plugins/verify_plugin.py
index acd50fcd..db421231 100644
--- a/obnamlib/plugins/verify_plugin.py
+++ b/obnamlib/plugins/verify_plugin.py
@@ -75,6 +75,9 @@ class VerifyPlugin(obnamlib.ObnamPlugin):
except Fail, e:
self.log_fail(e)
+ self.fs.close()
+ self.repo.fs.close()
+
if self.failed:
sys.exit(1)
print "Verify did not find problems."