Package: dump Version: 0.4b42-2 Severity: important restore triggers an error when an incremental dump removes a directory, but reuses its inode for a file that is excluded from the dump (because it, or a parent directory, has the nodump attribute). The dump shows the inode as still being in use, so restore will not mark it for deletion right away, and gets confused later on, mistaking the directory for a file.
This is made worse if some of the old directory's contents also had its inodes reused that way, as the directory will no longer be empty. (This may seem like a convoluted bug, but it actually plagues most of my archived incremental backups. Guess I should've actually tested one of them at some point. <g>) Here's a demonstration: # dd if=/dev/zero of=loop.bin bs=1k count=1k # mke2fs -F loop.bin # mkdir mnt # mount -o loop loop.bin mnt # mkdir mnt/foo # touch mnt/foo/bar # dump -0u -D dumpdates -f dump0 mnt # mv mnt/foo/bar mnt/ # rmdir mnt/foo # touch mnt/foo # chattr +d mnt/foo mnt/bar # dump -1 -D dumpdates -f dump1 mnt # mkdir tmp # cd tmp # restore -r -f ../dump0 # restore -r -f ../dump1 bad entry: removeleaf: not a leaf name: ./foo [...] bad entry: freeing non-empty directory name: ./foo -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.29.6 (SMP w/1 CPU core) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dump depends on: ii e2fslibs 1.41.10-1 ext2/ext3/ext4 file system librari ii libblkid1 2.16.2-0 block device id library ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib ii libcomerr2 1.41.10-1 common error description library ii libdevmapper1.02.1 2:1.02.39-1 The Linux Kernel Device Mapper use ii libncurses5 5.7+20090803-2 shared libraries for terminal hand ii libreadline6 6.1-1 GNU readline and history libraries ii libselinux1 2.0.89-4 SELinux runtime shared libraries ii libsepol1 2.0.40-2 SELinux library for manipulating b ii libuuid1 2.16.2-0 Universally Unique ID library ii tar 1.23-1 GNU version of the tar archiving u dump recommends no packages. dump suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org