During incremental restore, before removing entities that have gone
away, tar performs a 'stat' call.  However, this stat call is
dereferencing.  If the previously existing entity is a symlink that does
not resolve correctly, this causes tar to print a warning, and not
remove the entity.  I believe that this stat should not dereference
symlinks.  Below is a patch to fix this problem.

Let me know if you want a script to demonstrate this problem, and I can
try to come up with one.

--- tar-1.15.1/src/incremen.c~  2005-08-23 21:27:17.000000000 -0700
+++ tar-1.15.1/src/incremen.c   2005-08-23 21:27:36.000000000 -0700
@@ -518,7 +518,7 @@
          struct stat st;
          char *p = new_name (directory_name, cur);

-         if (deref_stat (true, p, &st))
+         if (deref_stat (false, p, &st))
            {
              stat_diag (p);
              WARN((0, 0, _("%s: Not purging directory: unable to stat"),




_______________________________________________
Bug-tar mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-tar

Reply via email to