acl: port to Solaris 8 when copying from tmpfs to ufs
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Dec 2010 06:22:43 +0000 (22:22 -0800)
committerIan Beckwith <ianb@erislabs.net>
Mon, 20 Dec 2010 05:57:05 +0000 (05:57 +0000)
* lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
error number.  Problem observed on Solaris 8 with latest
coreutils, with "mv A B", where A is on a tmpfs file system and B
is on a ufs file system.  This caused coreutils' mv/part-symlink
test to fail.
(cherry picked from commit ef6309e7c3ec7172ae59a8ed4a48842077902477)

ChangeLog
lib/copy-acl.c

index c40cbad..d60c26d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
 
+       acl: port to Solaris 8 when copying from tmpfs to ufs
+       * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
+       error number.  Problem observed on Solaris 8 with latest
+       coreutils, with "mv A B", where A is on a tmpfs file system and B
+       is on a ufs file system.  This caused coreutils' mv/part-symlink
+       test to fail.
+
        tests: set fail=0 at start
        * tests/init.sh (setup_): Move fail=0 initialization here ...
        (mktempd_): ... from here, so that tests can rely on fail being
index e8a4460..fbae482 100644 (file)
@@ -358,7 +358,7 @@ qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
       if (ret < 0 && saved_errno == 0)
         {
           saved_errno = errno;
-          if ((errno == ENOSYS || errno == EOPNOTSUPP)
+          if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
               && !acl_nontrivial (count, entries))
             saved_errno = 0;
         }