diff options
Diffstat (limited to 'rdiff-backup/rdiff_backup')
-rw-r--r-- | rdiff-backup/rdiff_backup/Globals.py | 4 | ||||
-rw-r--r-- | rdiff-backup/rdiff_backup/Main.py | 1 | ||||
-rw-r--r-- | rdiff-backup/rdiff_backup/rpath.py | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/rdiff-backup/rdiff_backup/Globals.py b/rdiff-backup/rdiff_backup/Globals.py index 396ab3b..2516c13 100644 --- a/rdiff-backup/rdiff_backup/Globals.py +++ b/rdiff-backup/rdiff_backup/Globals.py @@ -176,6 +176,10 @@ restrict_path = None # the man page under --no-compare-inode for more information. compare_inode = 1 +# If set, directories can be fsync'd just like normal files, to +# guarantee that any changes have been committed to disk. +fsync_directories = 1 + def get(name): """Return the value of something in this module""" diff --git a/rdiff-backup/rdiff_backup/Main.py b/rdiff-backup/rdiff_backup/Main.py index 76527ce..c717f05 100644 --- a/rdiff-backup/rdiff_backup/Main.py +++ b/rdiff-backup/rdiff_backup/Main.py @@ -149,6 +149,7 @@ def parse_cmdlineoptions(arglist): Globals.set('quoting_enabled', 1) Globals.set('preserve_hardlinks', 0) Globals.set('change_ownership', 0) + Globals.set('fsync_directories', 0) else: Log.FatalError("Unknown option %s" % opt) def isincfilename(path): diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index f133eb6..8c9aa10 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -908,7 +908,7 @@ class RPath(RORPath): def fsync_with_dir(self, fp = None): """fsync self and directory self is under""" self.fsync(fp) - self.get_parent_rp().fsync() + if Globals.fsync_directories: self.get_parent_rp().fsync() def sync_delete(self): """Delete self with sync to guarantee completion |