rdiff-backup-users
[Top][All Lists]
Advanced

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

[rdiff-backup-users] Problems with backup on encfs


From: ruttmannn
Subject: [rdiff-backup-users] Problems with backup on encfs
Date: Fri, 30 Apr 2010 12:46:35 +0200

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


Another strace block for a file WITHOUT  error looks like that:


lstat64("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 0xbfdb83dc) = -1 ENOENT (No such file or direct
ory)
open("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 7
fstat64(7, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
fstat64(6, {st_mode=S_IFREG|0444, st_size=1726, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7c03000
read(6, "# $Xprint.org: HPLJ4family model-"..., 131072) = 1726
read(6, ""..., 129024)                  = 0
fstat64(7, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7a30000
read(6, ""..., 131072)                  = 0
write(7, "# $Xprint.org: HPLJ4family model-"..., 1726) = 1726
close(7)                                = 0
munmap(0xb7a30000, 4096)                = 0
lstat64("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 {st_mode=S_IFREG|0600, st_size=1726, ...}) = 0
listxattr("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 (nil), 0) = 0
listxattr("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 0x890b468, 0) = 0
close(6)                                = 0
munmap(0xb7c03000, 4096)                = 0
chown32("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 0, 0) = 0
chmod("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 0444) = 0
gettimeofday({1272619573, 87733}, NULL) = 0
utimes("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 {{1272619573, 0}, {1127524337, 0}}) = 0
rename("/mnt/backup/backup/x/etc/X11/xserver/C/print/models/HPLJ4family/rdiff-backup.tmp.4210",
 "/mnt/backup/backup/x/etc/X11/xserver/C/print/
models/HPLJ4family/model-config") = 0


Aha, it seems like the file with the warning is a symlink. I checked a few 
hundred files in the strace log: Every file resulting in a warning showed the 
symlink syscall. And I checked a few of this files: Yes, they are symlinks.

This lead me to some bug reports like this:
http://www.mail-archive.com/address@hidden/msg164377.html
This bug report is for 1.2.2

And this changelog entry:
Workaround for broken support for symlink extended attributes in pyxattr < 
0.2.2. Thanks to Leo Bergolth for reporting the issue. (Andrew Ferguson)

Tested with rdiff-backup 1.2.8 and 1.3.3 and pyxattr 0.4 and 0.5. I found no 
current open bugs for that versions.

Okay, it's only a warning. But it makes me curious, because I never saw this 
before in years. And then I did compare/verify the backup and that resulted in 
more warnings:

$ rdiff-backup -v4 --compare-hash / /mnt/backup/backup/x

Warning: Metadata file has no digest for etc/pam.d/chfn, unable to compare.
Warning: Metadata file has no digest for etc/pam.d/chpasswd, unable to compare.
Warning: Metadata file has no digest for etc/pam.d/chsh, unable to compare.
Warning: Metadata file has no digest for etc/pam.d/groupadd, unable to compare.
...

And that one does not look good either:

$ rdiff-backup -v4 --compare-full / /mnt/backup/backup/x

Warning: listattr('/mnt/backup/backup/x31/bin/awk'): [Errno 2] No such file or 
directory
Warning: listattr('/mnt/backup/backup/x31/bin/gawk'): [Errno 2] No such file or 
directory
Warning: listattr('/mnt/backup/backup/x31/bin/igawk'): [Errno 2] No such file 
or directory
Warning: listattr('/mnt/backup/backup/x31/bin/pgawk'): [Errno 2] No such file 
or directory
...

Okay, everything is a warning only and if I switch to -v3 it is silent. But -v4 
used to list only very few files, that did change in size while the backup was 
running. I considered this very valuable information. Now -v4 is more or less 
useless. And more importantly I fear that there might lurk some deeper problems 
in there. 

This leads to some final question I cannot currently answer and therefor wrote 
this mail: 
Why does a backup on an encfs behave diffrently than on a normal ext3?
Why does -v4 gives so much warnings now? 

cu
john





reply via email to

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