[Top][All Lists]

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

Re: [Bug-tar] --one-file-system option's interaction with --listed-incre

From: Nathan Stratton Treadway
Subject: Re: [Bug-tar] --one-file-system option's interaction with --listed-incremental
Date: Mon, 28 May 2012 10:04:20 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

On Sun, May 27, 2012 at 17:24:17 -0400, Nathan Stratton Treadway wrote:
> I can think of a few changes that seem like they would fix this issue,
> but I am not confident enough in my understanding of all the possible
> paths through the directory-tree-scanning routines to know which is best
> (or what else I might be missing -- for example, I haven't try to figure
> out what would happen if the level-0 snapshot file included multiple
> levels of sub-directories under the "subdir" mount point):
>   * in procdir(), when setting directory->children = NO_CHILDREN because
>     of the one-file-system check, also delete any existing
>     directory->dump .
>   * in scan_directory(), if the returned directory's "children" is set
>     to NO_CHILDREN, delete directory's existing "dump" (in place of the
>     makedumpdir()-and-loop that would be done for other "children"
>     values).
>   * in create_archive() loop just before 
>       q = directory_contents (gnu_list_name->directory)
>     , add either add a check to see of gnu_list_name->directory->children 
>     has NO_CHILDREN set, or add an explicit one-file-system check
>     against gnu_list_name->directory and its parent.

I got to wondering if there were other situations were procdir() set
directory->children to NO_CHILDREN... and sure enough a quick test with
--exclude-tag= shows the same sort of behavior related to
subdir/subdir-file if the exclude-tag file is created under subdir/
between the level 0 and level 1 backups.  (The steps to reproduce are
very similar to the ones for the one-file-system test case, but I can
send the full listing if anyone is interested.)

So, of those three original ideas, I think only the second on (the check
for NO_CHILDREN in scan_directory() would also fix this --exclude-tag


Nathan Stratton Treadway  -  address@hidden  -  Mid-Atlantic region
Ray Ontko & Co.  -  Software consulting services  -   http://www.ontko.com/
 GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt   ID: 1023D/ECFB6239
 Key fingerprint = 6AD8 485E 20B9 5C71 231C  0C32 15F3 ADCD ECFB 6239

reply via email to

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