Re: fsync-directories test results not put in place quickly enough

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: fsync-directories test results not put in place quickly enough

Charles Duffy-6
Ben Escoto wrote:

>>>>>> Charles Duffy <[hidden email]>
>>>>>> 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


_______________________________________________
rdiff-backup-users mailing list at [hidden email]
http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki