[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [rdiff-backup-users] CIFS filesystem and symbolic links to other dir
From: |
Ian Jones |
Subject: |
Re: [rdiff-backup-users] CIFS filesystem and symbolic links to other directories |
Date: |
Sun, 06 Jul 2008 16:31:22 +0200 |
User-agent: |
Thunderbird 2.0.0.14 (Windows/20080421) |
Hi Andrew,
Thanks for your help. The information you have requested is below.
Regards,
Ian
Andrew Ferguson a écrit :
On Jul 6, 2008, at 6:19 AM, Ian Jones wrote:
Hello. I have the following problem.
I am trying to use rdiff-backup to backup from a Linux (Debian lenny)
machine to a CIFS mounted filesystem (which is located on a
Droboshare - http://www.drobo.com.)
# python -V
Python 2.5.2
# rdiff-backup -V
rdiff-backup 1.1.16
It works fine if I use --exclude-symbolic-links, but without this I
get the errors posted below.
Specifically:
If I try to backup a directory containing symbolic links to the same
directory, it works:
# ls –l
total 0
-rw-r--r-- 1 root root 0 2008-07-06 04:58 index.html
lrwxrwxrwx 1 root root 10 2008-07-06 05:03 test -> index.html
# rdiff-backup --no-hard-links . /drobo/MX/www
# ls -l /drobo/MX/www/
total 4
-rw-r--r-- 1 root root 0 2008-07-06 04:58 index.html
drwx------ 3 root daemon 0 2008-07-06 05:22 rdiff-backup-data
lrwxrwxrwx 1 root daemon 10 2008-07-06 05:22 test -> index.html
However, if I link to a file in another directory:
# echo "test" > ../test2
# ln -s ../test2
# ls –l
total 0
-rw-r--r-- 1 root root 0 2008-07-06 04:58 index.html
lrwxrwxrwx 1 root root 10 2008-07-06 05:03 test -> index.html
lrwxrwxrwx 1 root root 8 2008-07-06 05:27 test2 -> ../test2
# rdiff-backup --no-hard-links . /drobo/MX/www
Exception '[Errno 2] No such file or directory' raised of class
'<type 'exceptions.OSError'>':
Hi Ian,
That's a pretty interesting bug you have there. I'd say the chance is
pretty good that it is even a bug in CIFS and not rdiff-backup. But,
to be safe, can you try a few things?
1) Run rdiff-backup with '-v5' .... this will print out the name of
each file as it is being backed-up, just so we can make sure that it
is failing when manipulating the file 'test2'. This will also print
out information about which filesystem abilities rdiff-backup has
detected, please send those along as well.
# ls -l
total 0
-rw-r--r-- 1 root root 0 2008-07-06 04:58 index.html
lrwxrwxrwx 1 root root 8 2008-07-06 09:56 test2 -> ../test2
# rdiff-backup -v 5 --no-hard-links . /drobo/MX/test &> /tmp/rd-out
# cat /tmp/rd-out
Exception '[Errno 2] No such file or directory' raised of class '<type
'exceptions.OSError'>':
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
302, in error_check_Main
try: Main(arglist)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
322, in Main
take_action(rps)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
278, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
344, in Backup
backup.Mirror(rpin, rpout)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
232, in patch
ITR(diff.index, diff)
File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py",
line 281, in __call__
last_branch.fast_process(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
531, in fast_process
rpath.rename(tf, mirror_rp)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line
255, in rename
rp_source.conn.os.rename(rp_source.path, rp_dest.path)
Using rdiff-backup version 1.1.16
ACLs not supported by filesystem at .
escape_dos_devices not required by filesystem at .
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
Access control lists Off
Extended attributes On
Case sensitivity On
Escape DOS devices Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Directories on file system at
/drobo/MX/test/rdiff-backup-data/rdiff-backup.tmp.0 are not fsyncable.
Assuming it's unnecessary.
Extended attributes not supported by filesystem at
/drobo/MX/test/rdiff-backup-data/rdiff-backup.tmp.0
ACLs not supported by filesystem at
/drobo/MX/test/rdiff-backup-data/rdiff-backup.tmp.0
escape_dos_devices not required by filesystem at
/drobo/MX/test/rdiff-backup-data/rdiff-backup.tmp.0
-----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
Ownership changing On
Hard linking N/A
fsync() directories Off
Directory inc permissions On
High-bit permissions On
Symlink permissions Off
Extended filenames On
Windows reserved filenames On
Access control lists Off
Extended attributes Off
Case sensitivity On
Escape DOS devices Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Backup: must_escape_dos_devices = 0
Starting mirror . to /drobo/MX/test
Processing changed file .
Processing changed file index.html
Processing changed file test2
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
302, in error_check_Main
try: Main(arglist)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
322, in Main
take_action(rps)
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
278, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line
344, in Backup
backup.Mirror(rpin, rpout)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
38, in Mirror
DestS.patch(dest_rpath, source_diffiter)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
232, in patch
ITR(diff.index, diff)
File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py",
line 281, in __call__
last_branch.fast_process(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line
531, in fast_process
rpath.rename(tf, mirror_rp)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line
255, in rename
rp_source.conn.os.rename(rp_source.path, rp_dest.path)
OSError: [Errno 2] No such file or directory
2) Try running with CIFS's Linux extensions disabled. To do this,
unmount the CIFS share, then do:
$ echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
as root. After doing that, remount the filesystem and try again.
Again, run rdiff-backup with -v5 and send along the output.
# umount /drobo/
# cat /proc/fs/cifs/LinuxExtensionsEnabled
1
# echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
# mount /drobo/
# cat /proc/fs/cifs/LinuxExtensionsEnabled
0
# rdiff-backup -v 5 --no-hard-links . /drobo/MX/test-again &> /tmp/rd-out
# cat /tmp/rd-out
SpecialFileError test2 [Errno 95] Operation not supported
Using rdiff-backup version 1.1.16
ACLs not supported by filesystem at .
escape_dos_devices not required by filesystem at .
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
Access control lists Off
Extended attributes On
Case sensitivity On
Escape DOS devices Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Directories on file system at
/drobo/MX/test-again/rdiff-backup-data/rdiff-backup.tmp.0 are not fsyncable.
Assuming it's unnecessary.
Extended attributes not supported by filesystem at
/drobo/MX/test-again/rdiff-backup-data/rdiff-backup.tmp.0
ACLs not supported by filesystem at
/drobo/MX/test-again/rdiff-backup-data/rdiff-backup.tmp.0
escape_dos_devices not required by filesystem at
/drobo/MX/test-again/rdiff-backup-data/rdiff-backup.tmp.0
-----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
Ownership changing On
Hard linking N/A
fsync() directories Off
Directory inc permissions On
High-bit permissions On
Symlink permissions Off
Extended filenames On
Windows reserved filenames On
Access control lists Off
Extended attributes Off
Case sensitivity On
Escape DOS devices Off
Mac OS X style resource forks Off
Mac OS X Finder information Off
-----------------------------------------------------------------
Backup: must_escape_dos_devices = 0
Starting mirror . to /drobo/MX/test-again
Processing changed file .
Processing changed file index.html
Processing changed file test2
Exception '[Errno 95] Operation not supported' raised of class '<type
'exceptions.OSError'>':
File "/var/lib/python-support/python2.5/rdiff_backup/robust.py", line
32, in check_common_error
try: return function(*args)
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line
107, in copy
rpout.symlink(rpin.readlink())
File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line
928, in symlink
self.conn.os.symlink(linktext, self.path)
3) Lastly, what CIFS version are you running? You can get that from
`cat /proc/fs/cifs/DebugData`
# cat /proc/fs/cifs/DebugData
Display Internal CIFS Data Structures for Debugging
---------------------------------------------------
CIFS Version 1.52
Active VFS Requests: 0
Servers:
1) Name: 192.168.71.5 Domain: LEJARDIN Mounts: 1 OS: Unix
NOS: Samba 3.0.14a Capability: 0xe3fd
SMB session status: 1 TCP status: 1
Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
MIDs:
Shares:
1) \\DroboShare\drobo Uses: 1 Type: NTFS DevInfo: 0x0 Attributes: 0xb
PathComponentMax: 255 Status: 1 type: 0