On Wed, Aug 30, 2023 at 06:58:50AM -0400, Jeff Layton wrote: > _require_acl tests whether you're able to fetch the ACL from a file > using chacl, and then tests for an -EOPNOTSUPP error return. > Unfortunately, filesystems that don't support them (like NFSv4) just > return -ENODATA when someone calls getxattr for the POSIX ACL, so the > test doesn't work. > > Fix the test to have chacl set an ACL on the file instead, which should > reliably fail on filesystems that don't support them. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Seems logical, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > common/attr | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/common/attr b/common/attr > index cce4d1b201b2..3ebba682c894 100644 > --- a/common/attr > +++ b/common/attr > @@ -163,13 +163,12 @@ _require_acls() > [ -n "$CHACL_PROG" ] || _notrun "chacl command not found" > > # > - # Test if chacl is able to list ACLs on the target filesystems. On really > - # old kernels the system calls might not be implemented at all, but the > - # more common case is that the tested filesystem simply doesn't support > - # ACLs. > + # Test if chacl is able to set an ACL on a file. On really old kernels > + # the system calls might not be implemented at all, but the more common > + # case is that the tested filesystem simply doesn't support ACLs. > # > touch $TEST_DIR/syscalltest > - chacl -l $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1 > + chacl 'u::rw-,g::---,o::---' $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1 > cat $TEST_DIR/syscalltest.out >> $seqres.full > > if grep -q 'Function not implemented' $TEST_DIR/syscalltest.out; then > > -- > 2.41.0 >