Am 30/04/10 12:46, schrieb [email protected]:
Hi

using rdiff-backup for years now, I currently testing doing backups stored on 
encfs to support offsite storage. Unfortunatly this results in some unexpected 
warnings and errors and I have no idea where are they coming from.

The test scenario is easily described:
I just do a backup on a localy attached storage, into a encfs mounted directory.
$ encfs /mnt/backup/.cryptdir /mnt/backup/backup
$ rdiff-backup -v4 --no-hard-links / /mnt/backup/backup/x31

This shows the following warnings, thousands of them, but the numbers are only 
partly incrementing by one:


Warning: listattr('/mnt/backup/backup/x/bin/rdiff-backup.tmp.8'): [Errno 2] No 
such file or directory
Warning: listattr('/mnt/backup/backup/x/bin/rdiff-backup.tmp.10'): [Errno 2] No 
such file or directory
Warning: listattr('/mnt/backup/backup/x/bin/rdiff-backup.tmp.13'): [Errno 2] No 
such file or directory
Warning: listattr('/mnt/backup/backup/x/bin/rdiff-backup.tmp.14'): [Errno 2] No 
such file or directory


Our good old friend strace shows tells us this:


lstat64("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", 0xbfc85a7c) = -1 ENOENT 
(No such file or directory)
symlink("gawk-3.1.6", "/mnt/backup/backup/x/bin/rdiff-backup.tmp.10") = 0
lstat64("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", {st_mode=S_IFLNK|0777, 
st_size=10, ...}) = 0
readlink("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", "gawk-3.1.6"..., 1023) 
= 10
llistxattr("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", (nil), 0) = -1 
ENOENT (No such file or directory)
write(4, "Warning: listattr('/mnt/backup/ba"..., 105) = 105
lchown32("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", 0, 0) = 0
rename("/mnt/backup/backup/x/bin/rdiff-backup.tmp.10", 
"/mnt/backup/backup/x/bin/awk") = 0

This seems to be a bug in encfs. llistxattr and lgetxattr always returns ENOENT for symlinks on encfs. Debian has a bug report for this: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516473 but encfs itself has not?: http://code.google.com/p/encfs/issues/list

I can reproduce it with ls -l and getfattr -h with "symlink" on encfs:

$ ls -l symlink
ls: symlink: No such file or directory
lrwxrwxrwx 1 jakob jakob 1 May  4 12:51 symlink -> /

strace:
lgetxattr("symlink", "security.selinux", 0x9e87268, 255) = -1 ENOENT (No such file or directory)

$ getfattr -h symlink
getfattr: symlink: No such file or directory

strace:
llistxattr("symlink", (nil), 0) = -1 ENOENT (No such file or directory)


Jakob


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

Reply via email to