summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index 3fe54f5..fdb698e 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -897,12 +897,16 @@ class RPath(RORPath):
This can be useful for directories.
"""
- if not fp:
- fp = self.open("rb")
- os.fsync(fp.fileno())
- assert not fp.close()
+ if not fp: self.conn.rpath.RPath.fsync_local(self)
else: os.fsync(fp.fileno())
+ def fsync_local(self):
+ """fsync current file, run locally"""
+ assert self.conn is Globals.local_connection
+ fd = os.open(self.path, os.O_RDONLY)
+ os.fsync(fd)
+ os.close(fd)
+
def fsync_with_dir(self, fp = None):
"""fsync self and directory self is under"""
self.fsync(fp)