I'm trying to understand what's supposed to happen when amrecover gets to the end of the backup. Currently I'm running amanda 3.5.1 as packaged by Fedora. (We only lightly patch it, and as far as I can tell none of the patches should be relevant to amrecover.)
Basically, I do a simple recovery (on the backup server itself), choose a host and disk, add a directory and extract. I get something like the following: ``` amrecover> extract Extracting files using tape drive changer on host backup2. The following tapes are needed: C00047 Extracting files using tape drive changer on host backup2. Load tape C00047 now Continue [?/Y/n/s/d]? y Restoring files into directory /tmp/foo All existing files in /tmp/foo can be deleted Continue [?/Y/n]? y [... time passes and I see a byte count increasing ...] /usr/bin/pigz: pigz: warning: <stdin>: trailing junk was ignored ``` At this point amrecover appears to just hang. Looking at the ps output: ``` root 2690 9.1 0.0 317692 11020 pts/0 S+ 12:38 1:43 | \_ amrecover math -s backup2 -t backup2 root 2996 32.5 0.0 0 0 pts/0 Z+ 12:48 2:52 | \_ [pigz] <defunct> root 2998 3.3 0.0 0 0 pts/0 Z+ 12:48 0:17 | \_ [xfsrestore] <defunct> ``` So I'm not sure what amrecover wants at this point. The tape library still has the proper tape in the drive but both the drive and library are idle. I've let it sit around for far longer than any reasonable timeout. I'm not sure what it's waiting on; if I strace it I just get restart_syscall(<... resuming interrupted restart_syscall ...> and ps -l shows "restar" for WCHAN, wshich isn't really useful. Any suggestions? Maybe pigz has slightly different EOF handling than gzip, but I've seen essentially the same message and behavior from gzip so I doubt that's it. - J<