[Top][All Lists]

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

[Rdiff-backup-bugs] [bug #19895] On cifs volume, set_escape_dos_devices

From: Jonathan Hankins
Subject: [Rdiff-backup-bugs] [bug #19895] On cifs volume, set_escape_dos_devices raises "Permission denied" exception when lstat called on "aux"
Date: Sat, 19 May 2007 03:26:52 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070309 Firefox/

Follow-up Comment #1, bug #19895 (project rdiff-backup):

Here's my patch to catch the OSError that is raised when you try to lstat the
"aux" (or any other) special file on a CIFS-mounted Windows share.

I originally fixed one location where it tries to lstat "aux" then found two
more :-)  So, I am including them in the patch as well. 

In fact, it looks like the OSError is raised somewhere in
subdir.append("aux") before the lstat is called, but I didn't look too deeply
at this.  I just wrapped anything that could raise an exception in a try.

I wasn't sure why the original code did an "if device_rp.lstat()" and then,
depending on that call, did an "assert device_rp.lstat()" or "assert not
device_rp.lstat()", so I changed that in my patch.  I don't "do" python, so
please correct it if I was wrong.  Now, if lstat returns a true value,
indicating that "aux" exists (I don't think it can do this on a CIFS-mounted
Windows share), _or_ if an OSError is raised (this seems to always happen on
a CIFS-mounted Windows share), it will escape dos devices, otherwise it will

See also my bug report #19896.  After applying this patch and the one from
#19896, and the setting LookupCacheEnabled to 0 via proc fs (see #19802), I
am able to backup to and restore to a CIFS-mounted Windows share, on linux
kernel 2.6.20.

(file #12800)

Additional Item Attachment:

File name: fs_abilities.py.set_escape_dos_devices.diff Size:2 KB


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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