From 97fc40f62aa03e17ebde9a698f33ed58cc2e477e Mon Sep 17 00:00:00 2001 From: Lei Feng Date: Tue, 6 Jun 2023 19:47:05 +0800 Subject: [PATCH] LU-10499 tests: disable metadata_csum_seed for pcc cache device latest e2fsprogs enable metadata_csum_seed feature when mkfs.ext4 a device, which is used in pcc test as a cache device. Such a ext4 fs cannot be mounted on an old kernel of el7. So disable this feature for pcc cache device if it is detected in sanity-pcc test. EX-7596 tests: don't fail if metadata_csum_seed unset Fix logic in the sanity-pcc cache filesystem setup. With mke2fs 1.47.0-wc1 it enabled metadata_csum_seed unconditionally, but it caused problems on el7.9 kernels. In 1.47.0-wc2 it disabled that feature, caused the check for removing the feature to fail. Since metadata_csum_seed has been available since 1.44.2 it shouldn't be a problem to force it off duing mke2fs. Was-Change-Id: Ic04ab4043981dc9b5c32e01c4aa85be343e3f3f8 EX-6826 tests: wait before unmounting pcc device if busy wait at most 10 seconds before unmounting pcc device if it is busy. Was-Change-Id: I77ec018d33d14af99bdc5d5c5c94c8fa0dafdb61 EX-bug-id: EX-7596 EX-6826 Test-Parameters: trivial testlist=sanity-pcc clientdistro=el8.10 Signed-off-by: Lei Feng Signed-off-by: Andreas Dilger Change-Id: I2ef3ff27b49fb479ec348b742cf614a43321813b Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54486 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/tests/sanity-pcc.sh | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lustre/tests/sanity-pcc.sh b/lustre/tests/sanity-pcc.sh index a9e72a4..89e25fc 100755 --- a/lustre/tests/sanity-pcc.sh +++ b/lustre/tests/sanity-pcc.sh @@ -210,8 +210,18 @@ umount_loopdev() { local facet=$1 local mntpt=$2 local rc + local i + + for ((i = 0; i < 10; i++)); do + if do_facet $facet lsof $mntpt; then + echo "$mntpt is busy, wait 1 second..." + sleep 1 + else + echo "$mntpt is idle now" + break + fi + done - do_facet $facet lsof $mntpt || true do_facet $facet $UMOUNT $mntpt rc=$? return $rc @@ -230,8 +240,11 @@ setup_loopdev() { do_facet $facet mount do_facet $facet $UMOUNT $mntpt do_facet $facet mount - do_facet $facet mkfs.ext4 $file || - error "mkfs.ext4 $file failed" + do_facet $facet mkfs.ext4 $file || error "mkfs.ext4 $file failed" + local mcs=$(do_facet $facet tune2fs -l $file |& grep metadata_csum_seed) + [[ -z "$mcs" ]] || + do_facet $facet "tune2fs -O ^metadata_csum_seed $file" || + error "failed to turn off metadata_csum_seed feature" do_facet $facet file $file do_facet $facet mount -t ext4 -o loop,usrquota,grpquota $file $mntpt || error "mount -o loop,usrquota,grpquota $file $mntpt failed" @@ -251,6 +264,10 @@ setup_loopdev_project() { do_facet $facet $UMOUNT $mntpt do_facet $facet mkfs.ext4 -O project,quota $file || error "mkfs.ext4 -O project,quota $file failed" + local mcs=$(do_facet $facet tune2fs -l $file |& grep metadata_csum_seed) + [[ -z "$mcs" ]] || + do_facet $facet "tune2fs -O ^metadata_csum_seed $file" || + error "failed to turn off metadata_csum_seed feature" do_facet $facet file $file do_facet $facet mount -t ext4 -o loop,prjquota $file $mntpt || error "mount -o loop,prjquota $file $mntpt failed" -- 1.8.3.1