rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rdiff-backup-users] fsync-directories test results not put in place


From: Charles Duffy
Subject: Re: [rdiff-backup-users] fsync-directories test results not put in place quickly enough
Date: Wed, 08 Mar 2006 13:45:09 -0600
User-agent: Thunderbird 1.5 (X11/20051201)

Ben Escoto wrote:
Charles Duffy <address@hidden>
wrote the following on Wed, 17 Aug 2005 09:52:10 -0500

Notably, part of the fs_abilities check is calling fsync_local(),
which is trying to fsync directories even though the test to
determine whether this could be safely done failed, because
Globals.fsync_directories has not yet been updated.

I propose defaulting fsync_directories to 0 until the
get_fsabilities_readwrite() results are used to update Globals.

Ok thanks for the report.  Tell me if

http://savannah.nongnu.org/cgi-bin/viewcvs/rdiff-backup/rdiff-backup/rdiff_backup/Globals.py.diff?r2=1.35&r1=1.34&diff_format=u

doesn't fix it for you.  (I think for those settings 0 means never
enable, None means set based on testing.)

Not sure if I answered this earlier -- I went and worked on non-backup-related things for quite a while -- but that quite certainly doesn't fix it for me; even with fsync_directories=None in Globals.py, I end up with the following:

~> sudo rdiff-backup --check-destination-dir /path/to/nfs/mount
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File ".../rdiff_backup/Main.py", line 286, in Main
    take_action(rps)
  File ".../rdiff_backup/Main.py", line 258, in take_action
    elif action == "check-destination-dir": CheckDest(rps[0])
  File "...rdiff_backup/Main.py", line 862, in CheckDest
    dest_rp.conn.regress.Regress(dest_rp)
  File ".../rdiff_backup/regress.py", line 70, in Regress
    for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
  File ".../rdiff_backup/rorpiter.py", line 285, in __call__
    last_branch.fast_process(*args)
  File ".../rdiff_backup/regress.py", line 232, in fast_process
    if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
  File ".../rdiff_backup/regress.py", line 262, in restore_orig_regfile
    rf.mirror_rp.get_parent_rp().fsync() # require move before inc delete
  File ".../rdiff_backup/rpath.py", line 1068, in fsync
    if not fp: self.conn.rpath.RPath.fsync_local(self)
  File ".../rdiff_backup/rpath.py", line 1075, in fsync_local
    os.fsync(fd)
OSError: [Errno 22] Invalid argument




reply via email to

[Prev in Thread] Current Thread [Next in Thread]