[Top][All Lists]

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

Re: [Bug-tar] Skipped files with --listed-incremental after rename

From: Joerg Schilling
Subject: Re: [Bug-tar] Skipped files with --listed-incremental after rename
Date: Tue, 14 Oct 2003 00:31:52 +0200 (CEST)

>From address@hidden  Tue Oct 14 00:16:08 2003

>Joerg Schilling <address@hidden> writes:

>> If a filesystem does not update st_ctime, then you cannot do simple meta data
>> based incremental backups.

>I tend to agree: it would have to get more complicated.  I don't see
>any easy way out.

Well, it is possible with my my planned extensions for star, but it would be
more expensive to implement. In fact, the main target for these planned star
extensions is to have a complete rename/delete database at the beginning of
a tar archive in order to give the same level of convenience as 
ufsdump/ufsrestore. This is why I did plan an implementation for 
SCHILY.dino/SCHILY.ddev not before 2004.

>> If a filesystem does not update st_ctime, it breaks UNIX rules,
>> since st_ctime indicates an inode change which I believe a rename(2)
>> definitely is.

>POSIX clearly allows a 'rename' implementation that does not update
>ctime (there are some comments about this in the APPLICATION USAGE
>section of the POSIX spec). Hence this will be a problem when any
>simple metadata-based incremental backup scheme is run on any
>filesystem implementation that takes advantage of this part of the
>POSIX specification.

I read this in the standard today...

>>From a filesystem implementer's viewpoint, I can see why they'd want
>to avoid updating ctime: it can avoid writes to the disk in some cases.

This is an important argument. rename() traditionally has been implemented
by link()/unlink(), this is why implementations like Solaris that are based on 
UNIX.V7 still modify st_ctime. Todays kernel implementations look atomic but 
basically work very similar then before. As the BSD dump/restore fom 19881 
which has been renamed to ufsdump/ufsrestore in 1998 is based on ideas from 
similar programs on earlier UNIX relases, I believe Solaris sets st_ctime to 
allow ufsdump to continue to work easily.


 EMail:address@hidden (home) Jörg Schilling D-13353 Berlin
       address@hidden           (uni)  If you don't have iso-8859-1
       address@hidden   (work) chars I am J"org Schilling
 URL:  http://www.fokus.fraunhofer.de/usr/schilling 

reply via email to

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