changeset 8321:62f511413578

Work around difference between Linux ACLs and Solaris 10 ZFS. * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also for EINVAL.
author Jim Meyering <jim@meyering.net>
date Sun, 04 Mar 2007 12:18:01 +0000
parents 3e28c7035f38
children e40b5434db0e
files ChangeLog lib/acl.c
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-04  Jim Meyering  <jim@meyering.net>
+
+	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  <bruno@clisp.org>
 
 	* modules/relocatable-prog (Depends-on): Add back progreloc's
--- 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 @@
       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;