From ef6309e7c3ec7172ae59a8ed4a48842077902477 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 18 Dec 2010 22:22:43 -0800 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ lib/copy-acl.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1ee355cc03..6656b45f26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2010-12-18 Paul Eggert + 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 diff --git a/lib/copy-acl.c b/lib/copy-acl.c index e8a4460f57..fbae48232b 100644 --- a/lib/copy-acl.c +++ b/lib/copy-acl.c @@ -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; } -- 2.30.2