Mercurial > hg > octave-nkf > gnulib-hg
changeset 12906:05cf771f8b65
copy-acl: enhance Solaris ACL error handling
Gracefully handle EOPNOTSUPP in qcopy_acl and qset_acl. These
functions, as used in coreutils, were causing the test suite to fail
on Solaris 8 i386 with ZFS-backed NFSv3 mounts. The failures included
errors such as:
FAIL: cp/backup-dir
cp: preserving permissions for `y/x': Operation not supported on
transport endpoint
* lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
* lib/set-mode-acl.c (qset_acl): Likewise.
Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Ben Walton <bwalton@artsci.utoronto.ca> |
---|---|
date | Fri, 12 Feb 2010 08:32:00 -0500 |
parents | 8d1732828ada |
children | 41c34f933d77 |
files | ChangeLog lib/copy-acl.c lib/set-mode-acl.c |
diffstat | 3 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-03-02 Ben Walton <bwalton@artsci.utoronto.ca> (tiny change) + + copy-acl: enhance Solaris ACL error handling + * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP. + * lib/set-mode-acl.c (qset_acl): Likewise. + 2010-03-02 Bruno Haible <bruno@clisp.org> spawn: Don't override the system defined values on FreeBSD 8.
--- a/lib/copy-acl.c +++ b/lib/copy-acl.c @@ -294,7 +294,7 @@ if (count < 0) { - if (errno == ENOSYS || errno == ENOTSUP) + if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP) { count = 0; entries = NULL; @@ -358,7 +358,8 @@ if (ret < 0 && saved_errno == 0) { saved_errno = errno; - if (errno == ENOSYS && !acl_nontrivial (count, entries)) + if ((errno == ENOSYS || errno == EOPNOTSUPP) + && !acl_nontrivial (count, entries)) saved_errno = 0; } else