On Mon, 31 Jul 2006, Jon LaBadie wrote:
> On Mon, Jul 31, 2006 at 09:52:10AM +0200, Geert Uytterhoeven wrote:
> >
> > Finally I'm getting back on track after the tar 1.15.91-2 incremental
> > changes.
> > Due to this issue and my yearly holidays, my backups are long overdue and
> > Amanda likes to do lots of level 0s (as expected).
> >
> > I just noticed this in the mail log of last night's backup:
> >
> > | /-- anakin / lev 0 FAILED [data write: Connection reset by peer]
> > | sendbackup: start [anakin:/ level 0]
> > | sendbackup: info BACKUP=/bin/tar
> > | sendbackup: info RECOVER_CMD=/bin/gzip -dc |/bin/tar -f... -
> > | sendbackup: info COMPRESS_SUFFIX=.gz
> > | sendbackup: info end
> > | ? gtar: ./proc/19106/fd/5: Warning: Cannot stat: No such file or directory
> > | ? gtar: ./proc/19106/task/19106/fd/5: Warning: Cannot stat: No such file
> > or
> > | directory
> > | ? gtar: ./proc/6490/task/19182: Warning: Cannot stat: No such file or
> > | directory
> > | ? gtar: ./proc/6490/task/19182/attr: Warning: Cannot stat: No such file or
> > | directory
> > | ? gtar: ./proc/6490/task/19182/attr: Warning: Cannot stat: No such file or
> > | directory
> > | ? gtar: ./proc/6490/task/19182/fd: Warning: Cannot stat: No such file or
> > | directory
> > | ? gtar: ./proc/6490/task/19182/fd: Warning: Cannot stat: No such file or
> > | directory
> > | ? gtar: ./proc/asound/card0/pcm0p/sub1: file changed as we read it
> > | ? gtar: ./proc/irq/14/ide0: file changed as we read it
> > | ? gtar: ./proc/sys/fs/mqueue: file changed as we read it
> > | ? gtar: ./proc/sys/net/ipv6/conf/default: file changed as we read it
> > | | gtar: ./dev/gpmctl: socket ignored
> > | | gtar: ./dev/log: socket ignored
> > | \--------
> >
> > Since /proc is on a separate file system, tar is not supposed to enter that
> > directory.
> >
> > Anyone seen that before? I'm using tar 1.15.91-2 and amanda 1:2.5.0p2-1 (+
> > my
> > backport of the fixes for tar 1.15.91, cfr.
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=378558), on Debian
> > testing/unstable.
> >
> > Is this another tar 1.15.91 breakage?
> >
>
> Things to check might include:
>
> Do the amanda debug files on the client show the tar argument list
> with the "-l" or "--one-file-system" argument.
>
> Do you have any "include" directives. Tar will happily go to other
> file systems if you specifically tell it to. I once ran a DLE that
> covered 3 or 4 tiny file systems in one DLE by using / as the
> starting directory and including /a, /b, /c, ... (the mount points).
>
> If you run tar with the create and verbose (cv) options and the
> output is to /dev/null (f /dev/null), then tar will output the
> filenames of what it would backup, but doesn't. It only visits
> the inodes, not the datablocks. So you could try 1.15.91 manually
> and see if the output filenames include the /proc files. Lots
> of output, so probably collect to a file and search with less or more.
> Also, don't forget the --one-file-system option.
According to the logs, it used
| running: /bin/tar: gtar --create --file - --directory / --one-file-system
--listed-incremental /var/lib/amanda/gnutar-lists/anakin__0.new --sparse
--ignore-failed-read --totals --exclude-from
/tmp/amanda/sendbackup._.20060731014330.exclude .
If I manually run
| tar -v --create --file /dev/null --directory / --one-file-system --sparse
--ignore-failed-read --totals --exclude-from
/tmp/amanda/sendbackup._.20060731014330.exclude .
it doesn't visit /proc and says
| tar: ./proc/: file is on a different filesystem; not dumped
when noticing its existence.
However, if I add `--listed-incremental /tmp/xxx' it tells me:
| tar: ./bin: Directory is new
| tar: ./boot: Directory is new
| tar: ./build: Directory is new
| tar: ./dev: Directory is new
| tar: ./etc: Directory is new
| tar: ./home: Directory is new
| tar: ./initrd: Directory is new
| tar: ./lib: Directory is new
| tar: ./lost+found: Directory is new
| tar: ./media: Directory is new
| tar: ./mnt: Directory is new
| tar: ./none: Directory is new
| tar: ./proc: Directory is new
| tar: ./root: Directory is new
| tar: ./sbin: Directory is new
| tar: ./scratch: Directory is new
| tar: ./sys: Directory is new
| tar: ./tmp: Directory is new
and so on. And it enters e.g. /home, while /home is on a separate file system
(just like /boot, /usr, /var, /tmp).
Looks like tar 1.15.92 is seriously broken...
Bummer, it's even a known issue:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376816
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377124
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert AT linux-m68k
DOT org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
|