[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [rdiff-backup-users] os error 22 detecting file systemproperties on
From: |
Ben Escoto |
Subject: |
Re: [rdiff-backup-users] os error 22 detecting file systemproperties on cygwin |
Date: |
Sun, 8 Feb 2004 18:57:27 -0800 |
>>>>> "David Kempe" <address@hidden>
>>>>> wrote the following on Mon, 2 Feb 2004 09:40:40 +1100 (EST)
> Hi I have done some testing on restoring on win32.
> I applied the patch from 13.4 for fs_abilities.
> that seems to wrongly detect that hardlinks are OK.
Hmm, things look ok when I run it under linux to a fat filesystem:
-----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
Characters needing quoting '^a-z0-9_ -.'
Ownership changing Off
Hard linking Off
fsync() directories On
Directory inc permissions Off
Access control lists Off
Extended attributes Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
You may want to skim the following function and figure out why an
error isn't detected:
def set_hardlinks(self, testdir):
"""Set self.hardlinks to true iff hard linked files can be made"""
hl_source = testdir.append("hardlinked_file1")
hl_dest = testdir.append("hardlinked_file2")
hl_source.touch()
try:
hl_dest.hardlink(hl_source.path)
if hl_source.getinode() != hl_dest.getinode():
raise IOError(errno.EOPNOTSUPP, "Hard links don't compare")
except (IOError, OSError), exc:
if exc[0] in (errno.EOPNOTSUPP, errno.EPERM):
log.Log("Warning: hard linking not supported by filesystem "
"at %s" % (self.root_rp.path,), 3)
self.hardlinks = 0
else: raise
else: self.hardlinks = 1
I would have thought the hardlink() function would fail. But if it
doesn't raise an error, maybe the inode of all files are reported as 0
or something, so they compare ok anyway.
--
Ben Escoto
pgpbEOkp7lD6f.pgp
Description: PGP signature