Whamcloud - gitweb
LU-18095 sec: fix ACL handling on recent kernels 54/56254/11
authorSebastien Buisson <sbuisson@ddn.com>
Wed, 4 Sep 2024 08:36:42 +0000 (10:36 +0200)
committerOleg Drokin <green@whamcloud.com>
Mon, 16 Sep 2024 15:11:46 +0000 (15:11 +0000)
commitaa636f8ae6883cef018b859bba70140df9a826c4
tree768e754a5bbb8346f84e2e4ae52c9c32c1fee423
parent351537f9861f214a7502c5c9114ef2a0ccaf45f3
LU-18095 sec: fix ACL handling on recent kernels

On recent distributions like Ubuntu 24.04, the kernel imposes that
ACLs are fetched via the dedicated .get_acl operation (or
.get_inode_acl) instead of doing this via the xattr handlers.
So in ll_get_acl() explicitly fetch the xattr containing ACLs,
XATTR_NAME_ACL_ACCESS or XATTR_NAME_ACL_DEFAULT. This is going to
populate to xattr cache, hence avoiding multiple requests to the MDS.

Also fix sanity-sec test_23b to make sure variable comparisons are
correct. And fix test cleanup to avoid leftovers.

Test-Parameters: testlist=sanity-sec env=ONLY=23b,ONLY_REPEAT=50 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2
Test-Parameters: testlist=sanity-sec env=ONLY=23b,ONLY_REPEAT=50 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=ubuntu2404 serverdistro=el9.4
Test-Parameters: testlist=sanity env=ONLY=103a,ONLY_REPEAT=50 mdscount=2 mdtcount=4 osscount=1 ostcount=8 clientcount=2 clientdistro=ubuntu2404 serverdistro=el9.4
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I467d5a558eaa524e823527a8798478934f65abf9
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56254
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/acl.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/tests/sanity-sec.sh