[Top][All Lists]

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

[Bug-tar] Wrong inode number in listed-incremental's snapshot file

From: goeran
Subject: [Bug-tar] Wrong inode number in listed-incremental's snapshot file
Date: Thu, 3 May 2012 22:20:04 +0200

When doing an incremental backup the other day I noticed that
directories were listed as new when I knew they weren't.  I
investigated this a bit closer, and from what I can tell, this looks
like a bug in tar 1.26.  (As packaged for Fedora 17 in
tar-1.26-5.fc17.x86_64.)  I'm worried when my backup program seems to
have bugs.

In the snapshot file of the previouos backup, the inode numbers of the
directories that were incorrectly included in the new were incorrect.
I went a step further, and looked at that previous backup.  When that
was taken, the inode number probably HAD changed.  (Because of the so
called "UsrMove" feature of Fedora 17).  But despite the change on
disk, the number in the snapshot file was the old number.

I have managed to reproduce this.  As an example directory, I have
choosen /usr/lib64/wine.  The current inode number on my filesystem of
that directory is 13582361.

mimmi$ stat /usr/lib64/wine
  File: "/usr/lib64/wine"
  Size: 20480           Blocks: 48         IO Block: 4096   katalog
Device: fd00h/64768d    Inode: 13582361    Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-05-03 09:14:54.000000000 +0200
Modify: 2010-12-05 13:09:09.000000000 +0100
Change: 2012-04-05 19:27:54.000000000 +0200

In the old snapshot file it was 6653432.  And in the new
snapshot file it is ALSO 6653432, even though tar has correctly
realized the directory has changed name.

As I mentioned, in the following backup, this bug didn't appear, so it
seems to be data dependent in some way.  I have no nice small test
case but only my full backup command.  The command I used to reproduce
the problem looks like this:

     tar --create --blocking-factor=64 --listed-incremental=New.time \
         --file=/dev/null --multi-volume --verbose --totals \
         --exclude-from=/usr/local/etc/backup.exclude --exclude-caches-all 
--ignore-failed-read \
         --label="SÀkerhetskopia nivÄ 3 `date +'(%Y-%m-%d %T)'`." / \
             > New.list

The content of backup.exclude and New.time can be found in

Can I do anything to help in debugging this?

reply via email to

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