1dc728923Sopenharmony_ciFrom 13f1ce96046fba15d93a90733b791312284fbb62 Mon Sep 17 00:00:00 2001 2dc728923Sopenharmony_ciFrom: Andreas Dilger <adilger@whamcloud.com> 3dc728923Sopenharmony_ciDate: Mon, 28 Feb 2022 21:17:06 -0700 4dc728923Sopenharmony_ciSubject: [PATCH] tests: fix ACL-printing tests 5dc728923Sopenharmony_ci 6dc728923Sopenharmony_ciFix the ACL-printing tests to be more flexible for different systems. 7dc728923Sopenharmony_ciIf the MKFS_DIR is on tmpfs, it will not list "system.posix_acl*" 8dc728923Sopenharmony_cixattrs, so they will not be copied. Create this on a real filesystem 9dc728923Sopenharmony_cior skip the test if that doesn't work. 10dc728923Sopenharmony_ci 11dc728923Sopenharmony_ciFilter out the security.selinux xattr if it is printed, since this 12dc728923Sopenharmony_cidepends on the selinux configuration of the host system. However, 13dc728923Sopenharmony_cithis also spills xattrs for "acl_dir/file" into an external xattr 14dc728923Sopenharmony_ciblock, and causes it to fail due to different block allocations. 15dc728923Sopenharmony_ciIncrease the filesystem inode size so that the allocation is the same 16dc728923Sopenharmony_ciregardless of whether selinux is enabled or not. 17dc728923Sopenharmony_ci 18dc728923Sopenharmony_ciFixes: 67e6ae0a35 ("mke2fs: fix a importing a directory with an ACL") 19dc728923Sopenharmony_ciSigned-off-by: Andreas Dilger <adilger@whamcloud.com> 20dc728923Sopenharmony_ciReviewed-by: Artem Blagodarenko <artem.blagodarenko@hpe.com> 21dc728923Sopenharmony_ciReviewed-by: Li Dongyang <dongyangli@ddn.com> 22dc728923Sopenharmony_ciSigned-off-by: Theodore Ts'o <tytso@mit.edu> 23dc728923Sopenharmony_ci--- 24dc728923Sopenharmony_ci tests/filter.sed | 1 + 25dc728923Sopenharmony_ci tests/m_rootdir_acl/expect | 18 +++++++++--------- 26dc728923Sopenharmony_ci tests/m_rootdir_acl/script | 13 +++++++++---- 27dc728923Sopenharmony_ci 3 files changed, 19 insertions(+), 13 deletions(-) 28dc728923Sopenharmony_ci 29dc728923Sopenharmony_cidiff --git a/tests/filter.sed b/tests/filter.sed 30dc728923Sopenharmony_ciindex 796186e..5fd68f3 100644 31dc728923Sopenharmony_ci--- a/tests/filter.sed 32dc728923Sopenharmony_ci+++ b/tests/filter.sed 33dc728923Sopenharmony_ci@@ -20,6 +20,7 @@ s/\\015//g 34dc728923Sopenharmony_ci /^Maximum mount count:/d 35dc728923Sopenharmony_ci /^Next check after:/d 36dc728923Sopenharmony_ci /^Suggestion:/d 37dc728923Sopenharmony_ci+/security.selinux/d 38dc728923Sopenharmony_ci /Reserved blocks uid:/s/ (user .*)// 39dc728923Sopenharmony_ci /Reserved blocks gid:/s/ (group .*)// 40dc728923Sopenharmony_ci /whichever comes first/d 41dc728923Sopenharmony_cidiff --git a/tests/m_rootdir_acl/expect b/tests/m_rootdir_acl/expect 42dc728923Sopenharmony_ciindex babd802..57f03e5 100644 43dc728923Sopenharmony_ci--- a/tests/m_rootdir_acl/expect 44dc728923Sopenharmony_ci+++ b/tests/m_rootdir_acl/expect 45dc728923Sopenharmony_ci@@ -10,8 +10,8 @@ Filesystem OS type: Linux 46dc728923Sopenharmony_ci Inode count: 1024 47dc728923Sopenharmony_ci Block count: 16384 48dc728923Sopenharmony_ci Reserved block count: 819 49dc728923Sopenharmony_ci-Overhead clusters: 1543 50dc728923Sopenharmony_ci-Free blocks: 14788 51dc728923Sopenharmony_ci+Overhead clusters: 1799 52dc728923Sopenharmony_ci+Free blocks: 14533 53dc728923Sopenharmony_ci Free inodes: 1003 54dc728923Sopenharmony_ci First block: 1 55dc728923Sopenharmony_ci Block size: 1024 56dc728923Sopenharmony_ci@@ -21,14 +21,14 @@ Reserved GDT blocks: 127 57dc728923Sopenharmony_ci Blocks per group: 8192 58dc728923Sopenharmony_ci Fragments per group: 8192 59dc728923Sopenharmony_ci Inodes per group: 512 60dc728923Sopenharmony_ci-Inode blocks per group: 128 61dc728923Sopenharmony_ci+Inode blocks per group: 256 62dc728923Sopenharmony_ci Flex block group size: 16 63dc728923Sopenharmony_ci Mount count: 0 64dc728923Sopenharmony_ci Check interval: 15552000 (6 months) 65dc728923Sopenharmony_ci Reserved blocks uid: 0 66dc728923Sopenharmony_ci Reserved blocks gid: 0 67dc728923Sopenharmony_ci First inode: 11 68dc728923Sopenharmony_ci-Inode size: 256 69dc728923Sopenharmony_ci+Inode size: 512 70dc728923Sopenharmony_ci Required extra isize: 32 71dc728923Sopenharmony_ci Desired extra isize: 32 72dc728923Sopenharmony_ci Journal inode: 8 73dc728923Sopenharmony_ci@@ -49,16 +49,16 @@ Group 0: (Blocks 1-8192) 74dc728923Sopenharmony_ci Reserved GDT blocks at 3-129 75dc728923Sopenharmony_ci Block bitmap at 130 (+129) 76dc728923Sopenharmony_ci Inode bitmap at 132 (+131) 77dc728923Sopenharmony_ci- Inode table at 134-261 (+133) 78dc728923Sopenharmony_ci- 7750 free blocks, 491 free inodes, 5 directories, 491 unused inodes 79dc728923Sopenharmony_ci- Free blocks: 443-8192 80dc728923Sopenharmony_ci+ Inode table at 134-389 (+133) 81dc728923Sopenharmony_ci+ 7495 free blocks, 491 free inodes, 5 directories, 491 unused inodes 82dc728923Sopenharmony_ci+ Free blocks: 698-8192 83dc728923Sopenharmony_ci Free inodes: 22-512 84dc728923Sopenharmony_ci Group 1: (Blocks 8193-16383) [INODE_UNINIT] 85dc728923Sopenharmony_ci Backup superblock at 8193, Group descriptors at 8194-8194 86dc728923Sopenharmony_ci Reserved GDT blocks at 8195-8321 87dc728923Sopenharmony_ci Block bitmap at 131 (bg #0 + 130) 88dc728923Sopenharmony_ci Inode bitmap at 133 (bg #0 + 132) 89dc728923Sopenharmony_ci- Inode table at 262-389 (bg #0 + 261) 90dc728923Sopenharmony_ci+ Inode table at 390-645 (bg #0 + 389) 91dc728923Sopenharmony_ci 7038 free blocks, 512 free inodes, 0 directories, 512 unused inodes 92dc728923Sopenharmony_ci Free blocks: 9346-16383 93dc728923Sopenharmony_ci Free inodes: 513-1024 94dc728923Sopenharmony_ci@@ -116,4 +116,4 @@ Pass 2: Checking directory structure 95dc728923Sopenharmony_ci Pass 3: Checking directory connectivity 96dc728923Sopenharmony_ci Pass 4: Checking reference counts 97dc728923Sopenharmony_ci Pass 5: Checking group summary information 98dc728923Sopenharmony_ci-test.img: 21/1024 files (0.0% non-contiguous), 1596/16384 blocks 99dc728923Sopenharmony_ci+test.img: 21/1024 files (0.0% non-contiguous), 1851/16384 blocks 100dc728923Sopenharmony_cidiff --git a/tests/m_rootdir_acl/script b/tests/m_rootdir_acl/script 101dc728923Sopenharmony_ciindex e81c82c..a00e4c4 100644 102dc728923Sopenharmony_ci--- a/tests/m_rootdir_acl/script 103dc728923Sopenharmony_ci+++ b/tests/m_rootdir_acl/script 104dc728923Sopenharmony_ci@@ -16,12 +16,10 @@ if [ "$os" = "GNU" ]; then 105dc728923Sopenharmony_ci return 0 106dc728923Sopenharmony_ci fi 107dc728923Sopenharmony_ci 108dc728923Sopenharmony_ci-MKFS_DIR=$TMPFILE.dir 109dc728923Sopenharmony_ci+MKFS_DIR=$(mktemp -d ./$test_name-XXXXXX.tmp) 110dc728923Sopenharmony_ci OUT=$test_name.log 111dc728923Sopenharmony_ci EXP=$test_dir/expect 112dc728923Sopenharmony_ci 113dc728923Sopenharmony_ci-rm -rf $MKFS_DIR 114dc728923Sopenharmony_ci-mkdir -p $MKFS_DIR 115dc728923Sopenharmony_ci touch $MKFS_DIR/emptyfile 116dc728923Sopenharmony_ci dd if=/dev/zero bs=1024 count=32 2> /dev/null | tr '\0' 'a' > $MKFS_DIR/bigfile 117dc728923Sopenharmony_ci echo "M" | dd of=$MKFS_DIR/sparsefile bs=1 count=1 seek=1024 2> /dev/null 118dc728923Sopenharmony_ci@@ -60,7 +58,14 @@ mask::r-x 119dc728923Sopenharmony_ci other::r-x 120dc728923Sopenharmony_ci EOF 121dc728923Sopenharmony_ci 122dc728923Sopenharmony_ci-$MKE2FS -q -F -o Linux -T ext4 -O metadata_csum,inline_data,64bit -E lazy_itable_init=1 -b 1024 -d $MKFS_DIR $TMPFILE 16384 > $OUT 2>&1 123dc728923Sopenharmony_ci+if ! getfattr -d -m - $MKFS_DIR/acl_dir | grep -q posix_acl; then 124dc728923Sopenharmony_ci+ echo "$test_name: $test_description: skipped (no posix_acl xattrs)" 125dc728923Sopenharmony_ci+ rm -rf $MKFS_DIR 126dc728923Sopenharmony_ci+ return 0 127dc728923Sopenharmony_ci+fi 128dc728923Sopenharmony_ci+ 129dc728923Sopenharmony_ci+# use 512-byte inodes so with/out security.selinux xattr doesn't fail 130dc728923Sopenharmony_ci+$MKE2FS -q -F -o Linux -T ext4 -I 512 -O metadata_csum,inline_data,64bit -E lazy_itable_init=1 -b 1024 -d $MKFS_DIR $TMPFILE 16384 > $OUT 2>&1 131dc728923Sopenharmony_ci 132dc728923Sopenharmony_ci $DUMPE2FS $TMPFILE >> $OUT 2>&1 133dc728923Sopenharmony_ci cat > $TMPFILE.cmd << ENDL 134dc728923Sopenharmony_ci-- 135dc728923Sopenharmony_ci1.8.3.1 136dc728923Sopenharmony_ci 137