From: Jim Meyering Date: Sun, 4 Mar 2007 12:18:01 +0000 (+0000) Subject: Work around difference between Linux ACLs and Solaris 10 ZFS. X-Git-Tag: cvs-readonly~897 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=3cc42b9d18f48ffaa0320a63e06e295ed079e7d5;p=gnulib.git Work around difference between Linux ACLs and Solaris 10 ZFS. * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also for EINVAL. --- diff --git a/ChangeLog b/ChangeLog index 34b2cd8ac..e765964de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-03-04 Jim Meyering + + Work around difference between Linux ACLs and Solaris 10 ZFS. + * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also + for EINVAL. + 2007-03-03 Bruno Haible * modules/relocatable-prog (Depends-on): Add back progreloc's diff --git a/lib/acl.c b/lib/acl.c index 0b3cd6f1d..7f73103b5 100644 --- a/lib/acl.c +++ b/lib/acl.c @@ -1,6 +1,6 @@ /* acl.c - access control lists - Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -366,7 +366,7 @@ set_acl (char const *name, int desc, mode_t mode) int saved_errno = errno; acl_free (acl); - if (errno == ENOTSUP || errno == ENOSYS) + if (errno == ENOTSUP || errno == ENOSYS || errno == EINVAL) { if (chmod_or_fchmod (name, desc, mode) != 0) saved_errno = errno;