Re: [PATCH fstests v4 1/3] common/attr: fix the _require_acl test

Darrick J. Wong
2023-08-30T18:29:39Z

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@kernel.org>

Seems logical,
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

--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
>