From b6333589fb05feadccae86acfb6ceeeba87f8b9b Mon Sep 17 00:00:00 2001 From: Artem Blagodarenko Date: Thu, 23 May 2019 14:49:54 +0300 Subject: [PATCH] LU-11915 tests: use trusted.* xattr for conf-sanity test_115 conf-sanity test 115 is always skipped because of patch "LU-8569 linkea: linkEA size limitation". Links could not be used for creating external inode for xattrs. Let's use "trusted.*" xattrs for creating external xattr inode. Fixes: 048a8740ae26 ("LU-8569 lfsck: handle linkEA overflow") Signed-off-by: Artem Blagodarenko Cray-bug-id: LUS-6966 Change-Id: If4c74c5baaeec6503edb3c5e756b9a55ff1bd90a Test-Parameters: trivial testlist=conf-sanity envdefinitions=FLAKEY=false Reviewed-on: https://review.whamcloud.com/34948 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Jian Yu Reviewed-by: Oleg Drokin --- lustre/tests/conf-sanity.sh | 49 ++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index e1e7365..898c7ca 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -8342,7 +8342,6 @@ cleanup_115() trap 0 stopall rm -f $TMP/$tdir/lustre-mdt - reformat_and_config } test_115() { @@ -8350,6 +8349,15 @@ test_115() { skip "Only applicable to ldiskfs-based MDTs" fi + local dbfs_ver=$(do_facet $SINGLEMDS $DEBUGFS -V 2>&1) + + echo "debugfs version: $dbfs_ver" + echo "$dbfs_ver" | egrep -w "1.44.3.wc1|1.44.5.wc1|1.45.2.wc1" && + skip_env "This version of debugfs doesn't show inode number" + + is_dm_flakey_dev $SINGLEMDS $(mdsdevname 1) && + skip "This test can not be executed on flakey dev" + IMAGESIZE=$((3072 << 30)) # 3072 GiB stopall @@ -8365,39 +8373,38 @@ test_115() { local mdsdev=$(do_facet $SINGLEMDS "losetup -f") do_facet $SINGLEMDS "losetup $mdsdev $mdsimgname" - local mds_opts="$(mkfs_opts mds1 ${mdsdev}) --device-size=$IMAGESIZE \ - --mkfsoptions='-O lazy_itable_init,ea_inode,^resize_inode,meta_bg \ - -i 1024'" + local mds_opts="$(mkfs_opts mds1 $(mdsdevname 1)) --device-size=$IMAGESIZE \ + --mkfsoptions='-O ea_inode,^resize_inode,meta_bg \ + -N 2247484000 -E lazy_itable_init'" add mds1 $mds_opts --mgs --reformat $mdsdev || skip_env "format large MDT failed" - add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=$i \ - --reformat $(ostdevname 1) $(ostvdevname 1) - - start $SINGLEMDS ${mdsdev} $MDS_MOUNT_OPTS || error "start MDS failed" + opts="$(mkfs_opts ost1 $(ostdevname 1)) \ + $replace --reformat $(ostdevname 1) $(ostvdevname 1)" + add ost1 $opts || error "add ost1 failed with new params" + start $SINGLEMDS $mdsdev $MDS_MOUNT_OPTS || error "start MDS failed" start_ost || error "start OSS failed" mount_client $MOUNT || error "mount client failed" mkdir -p $DIR/$tdir || error "mkdir $DIR/$tdir fail" - for goal in $(do_facet $SINGLEMDS "ls /sys/fs/ldiskfs/*/inode_goal"); do - do_facet $SINGLEMDS "echo 2147483947 >> $goal; grep . $goal" - done - + goal="/sys/fs/ldiskfs/$(basename $mdsdev)/inode_goal" +echo goal: $goal + # 2147483648 is 0x80000000 + do_facet $SINGLEMDS "echo 2147483648 >> $goal; grep . $goal" touch $DIR/$tdir/$tfile - # Add > 5k bytes to xattr - for i in {1..30}; do - ln $DIR/$tdir/$tfile $DIR/$tdir/$(printf "link%0250d" $i) || - error "Can't make link" + # attrs from 1 to 15 go to block, 16th - to inode + for i in {1..16}; do + local nm="trusted.ea$i" + setfattr -n $nm -v $(printf "xattr%0250d" $i) $DIR/$tdir/$tfile done - sync; sleep 5; sync - + # inode <2147483649> trusted.ea16 (255) local inode_num=$(do_facet $SINGLEMDS \ - "$DEBUGFS -c -R 'stat ROOT/$tdir/$tfile' $mdsimgname" | - awk '/link =/ { print $4 }' | + "$DEBUGFS -c -R 'stat ROOT/$tdir/$tfile' $mdsdev" | + awk '/ea16/ { print $2 }' | sed -e 's/>//' -e 's/