svn commit: r185359 - head/usr.bin/tar
Tim Kientzle
kientzle at FreeBSD.org
Wed Nov 26 21:14:37 PST 2008
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);
More information about the svn-src-head
mailing list