Wed 21 Jan 2009 01:14:41 AM UTC, comment #7:
rdiff-backup --restore-as-of ... /backup/rdiff-backup-source/usr/src /some/destination
worked, sorta.
It gets this far:
Processing changed file linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config
Regular copying ('linux-2.6.25.16-0.1-obj', 'x86_64', 'default', 'makedumpfile.config') to / /some/destination/linux-2.6.25.16-0.1-obj/x86_64/default/rdiff-backup.tmp.30054
Hash 616f510d45523784e49d7815ccbf478ba7311238 of linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config verified
and then loops forever. No logging, but the same block of syscalls as before.
|
Wed 21 Jan 2009 12:47:36 AM UTC, comment #2:
Yes, it was looping on that block of system calls exactly. Thousands of times (it had been looping for 10 minutes by the time I caught it).
Also, 1.2.5 does not help.
In this particular case, I am trying to restore the oldest snapshot.
The /usr/src/* files no longer exist.
/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/
also does not exist.
host:/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj # find . -ls
3328624 4 drwx------ 3 root root 4096 Dec 5 08:46 .
3328627 0 -rwxr-xr-x 1 root root 0 Oct 17 09:29 ./x86_64.2008-11-03T04:04:05-06:00.dir
3328625 4 drwx------ 3 root root 4096 Dec 5 08:46 ./x86_64
3779185 4 drwx------ 2 root root 4096 Dec 5 08:46 ./x86_64/default
3779186 4 -rw-r--r-- 1 root root 631 Aug 22 09:17 ./x86_64/default/makedumpfile.config.2008-11-03T04:04:05-06:00.snapshot.gz
3779187 128 -rw-r--r-- 1 root root 126388 Aug 22 09:17 ./x86_64/default/Module.symvers.2008-11-03T04:04:05-06:00.snapshot.gz
3328626 0 -rwxr-xr-x 1 root root 0 Oct 17 09:29 ./x86_64/default.2008-11-03T04:04:05-06:00.dir
host:/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj #
|
Wed 21 Jan 2009 12:32:37 AM UTC, comment #1:
Hi, I don't see how this is a loop. Was it executing that block of system calls over and over ...?
What does `ls -l` report for the following directories:
/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/
/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/
/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/
/usr/src/linux-2.6.25.16-0.1-obj/x86_64/
/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/
Thanks,
Andrew
|
Tue 20 Jan 2009 10:15:13 PM UTC, original submission:
rdiff-backup --restore-as-of $SOME_TIMESTAMP --force /backups/rdiff-backup-source/ /some/destination
seems to loop forever (sometimes).
rdiff-backup stopped doing anything and strace revealed a pattern, I reduced that pattern to the following loop:
open("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", O_RDONLY|O_NONBLOCK|O_DIRECTORY|
O_CLOEXEC) = 9
fstat(9, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents64(9, /* 4 entries */, 4096) = 200
getdents64(9, /* 0 entries */, 4096) = 0
close(9) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers.2008-11-03T04:04:0
5-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=126388, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers", 0x7ffff324a860)
= -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config.2008-11-03T04
:04:05-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=631, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config", 0x7ffff324a
860) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers", 0x7ffff324b380)
= -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/Module.symvers.2008-11-03T04:04:0
5-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=126388, ...}) = 0
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config", 0x7ffff324b
380) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default/makedumpfile.config.2008-11-03T04
:04:05-06:00.snapshot.gz", {st_mode=S_IFREG|0644, st_size=631, ...}) = 0
lstat("/backups/rdiff-backup-source/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", 0x7ffff324bea0) = -1 ENOENT (No such file or directory)
lstat("/backups/rdiff-backup-source/rdiff-backup-data/increments/usr/src/linux-2.6.25.16-0.1-obj/x86_64/default", {st_mode=S_IFDIR|0700, st_size=
4096, ...}) = 0
I have to wait until about 30G into the restore to see this so if you want more detail just ask for it. I have done a number of other restores without issue, however, this one fails.
This is with 1.2.4 and the patch I supplied to correct Savannah bug 25255. I will be retrying with 1.2.5 very shortly.
|