Author: kientzle
Date: Thu Nov 27 05:14:36 2008
New Revision: 185359
URL: http://svn.freebsd.org/changeset/base/185359

Log:
  If we're unable to chdir() to a directory that we know exists,
  that should result in a non-zero return value.
  
  In particular, this should address the issue that David Wolfskill
  ran into with a somewhat flaky NFS mount resulting in a damaged
  archive even though tar returned success.
  
  MFC after:    4 days

Modified:
  head/usr.bin/tar/write.c

Modified: head/usr.bin/tar/write.c
==============================================================================
--- head/usr.bin/tar/write.c    Thu Nov 27 04:40:37 2008        (r185358)
+++ head/usr.bin/tar/write.c    Thu Nov 27 05:14:36 2008        (r185359)
@@ -655,8 +655,10 @@ write_hierarchy(struct bsdtar *bsdtar, s
                const struct stat *st = NULL, *lst = NULL;
                int descend;
 
-               if (tree_ret == TREE_ERROR_DIR)
+               if (tree_ret == TREE_ERROR_DIR) {
                        bsdtar_warnc(bsdtar, errno, "%s: Couldn't visit 
directory", name);
+                       bsdtar->return_value = 1;
+               }
                if (tree_ret != TREE_REGULAR)
                        continue;
                lst = tree_current_lstat(tree);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to