X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Fsanity.sh;h=f1e26298a84323125e79e34976a85a5ddc1bd7fe;hp=902fd1b57c3b1a2a7a800596e3ce3dab54aa39ed;hb=8d0bf30d5dc700b176c9e66a103e8c31fff20d47;hpb=db8a6829cb1c9869d998920c095a14de2d5300bf diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 902fd1b..f1e2629 100644 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -5257,8 +5257,7 @@ cleanup_test102() { test_102a() { local testfile=$DIR/xattr_testfile - rm -f $testfile - touch $testfile + touch $testfile [ "$UID" != 0 ] && skip_env "must run as root" && return [ -z "`lctl get_param -n mdc.*-mdc-*.connect_flags | grep xattr`" ] && @@ -5268,40 +5267,48 @@ test_102a() { skip_env "could not find setfattr" && return echo "set/get xattr..." - setfattr -n trusted.name1 -v value1 $testfile || error - [ "`getfattr -n trusted.name1 $testfile 2> /dev/null | \ - grep "trusted.name1"`" == "trusted.name1=\"value1\"" ] || error + setfattr -n trusted.name1 -v value1 $testfile || error + getfattr -n trusted.name1 $testfile 2> /dev/null | + grep "trusted.name1=.value1" || + error "$testfile missing trusted.name1=value1" - setfattr -n user.author1 -v author1 $testfile || error - [ "`getfattr -n user.author1 $testfile 2> /dev/null | \ - grep "user.author1"`" == "user.author1=\"author1\"" ] || error + setfattr -n user.author1 -v author1 $testfile || error + getfattr -n user.author1 $testfile 2> /dev/null | + grep "user.author1=.author1" || + error "$testfile missing trusted.author1=author1" echo "listxattr..." - setfattr -n trusted.name2 -v value2 $testfile || error - setfattr -n trusted.name3 -v value3 $testfile || error - [ `getfattr -d -m "^trusted" $testfile 2> /dev/null | \ - grep "trusted.name" | wc -l` -eq 3 ] || error - - - setfattr -n user.author2 -v author2 $testfile || error - setfattr -n user.author3 -v author3 $testfile || error - [ `getfattr -d -m "^user" $testfile 2> /dev/null | \ - grep "user" | wc -l` -eq 3 ] || error + setfattr -n trusted.name2 -v value2 $testfile || + error "$testfile unable to set trusted.name2" + setfattr -n trusted.name3 -v value3 $testfile || + error "$testfile unable to set trusted.name3" + [ $(getfattr -d -m "^trusted" $testfile 2> /dev/null | + grep "trusted.name" | wc -l) -eq 3 ] || + error "$testfile missing 3 trusted.name xattrs" + + setfattr -n user.author2 -v author2 $testfile || + error "$testfile unable to set user.author2" + setfattr -n user.author3 -v author3 $testfile || + error "$testfile unable to set user.author3" + [ $(getfattr -d -m "^user" $testfile 2> /dev/null | + grep "user.author" | wc -l) -eq 3 ] || + error "$testfile missing 3 user.author xattrs" echo "remove xattr..." - setfattr -x trusted.name1 $testfile || error - getfattr -d -m trusted $testfile 2> /dev/null | \ - grep "trusted.name1" && error || true + setfattr -x trusted.name1 $testfile || + error "$testfile error deleting trusted.name1" + getfattr -d -m trusted $testfile 2> /dev/null | grep "trusted.name1" && + error "$testfile did not delete trusted.name1 xattr" - setfattr -x user.author1 $testfile || error - getfattr -d -m user $testfile 2> /dev/null | \ - grep "user.author1" && error || true + setfattr -x user.author1 $testfile || + error "$testfile error deleting user.author1" + getfattr -d -m user $testfile 2> /dev/null | grep "user.author1" && + error "$testfile did not delete trusted.name1 xattr" # b10667: setting lustre special xattr be silently discarded echo "set lustre special xattr ..." - setfattr -n "trusted.lov" -v "invalid value" $testfile || error - - rm -f $testfile + setfattr -n "trusted.lov" -v "invalid value" $testfile || + error "$testfile allowed setting trusted.lov" } run_test 102a "user xattr test ==================================" @@ -5361,59 +5368,34 @@ test_102c() { run_test 102c "non-root getfattr/setfattr for lustre.lov EAs ===========" compare_stripe_info1() { - local stripe_index_all_zero=1 + local stripe_index_all_zero=true - for num in 1 2 3 4 - do - for count in `seq 1 $STRIPE_COUNT` - do - for offset in `seq 0 $[$STRIPE_COUNT - 1]` - do - local size=`expr $STRIPE_SIZE \* $num` + for num in 1 2 3 4; do + for count in $(seq 1 $STRIPE_COUNT); do + for offset in $(seq 0 $[$STRIPE_COUNT - 1]); do + local size=$((STRIPE_SIZE * num)) local file=file"$num-$offset-$count" - get_stripe_info client $PWD/$file "$1" - if [ $stripe_size -ne $size ]; then - error "$file: different stripe size $stripe_size, expected $size" && return - fi - if [ $stripe_count -ne $count ]; then - error "$file: different stripe count $stripe_count, expected $count" && return - fi - if [ $stripe_index -ne 0 ]; then - stripe_index_all_zero=0 - fi + stripe_size=$(lfs getstripe -S $PWD/$file) + [ $stripe_size -ne $size ] && + error "$file: size $stripe_size != $size" + stripe_count=$(lfs getstripe -c $PWD/$file) + # allow fewer stripes to be created, ORI-601 + [ $stripe_count -lt $(((3 * count + 3) / 4)) ]&& + error "$file: count $stripe_count != $count" + stripe_index=$(lfs getstripe -i $PWD/$file) + [ $stripe_index -ne 0 ] && + stripe_index_all_zero=false done done done - [ $stripe_index_all_zero -eq 1 ] && error "all files are being extracted starting from OST index 0" + $stripe_index_all_zero && + error "all files are being extracted starting from OST index 0" return 0 } -compare_stripe_info2() { - for num in 1 2 3 4 - do - for count in `seq 1 $STRIPE_COUNT` - do - for offset in `seq 0 $[$STRIPE_COUNT - 1]` - do - local size=`expr $STRIPE_SIZE \* $num` - local file=file"$num-$offset-$count" - get_stripe_info client $PWD/$file - if [ $stripe_size -ne $size ]; then - error "$file: different stripe size $stripe_size, expected $size" && return - fi - if [ $stripe_count -ne $count ]; then - error "$file: different stripe count $stripe_count, expected $count" && return - fi - if [ $stripe_index -ne $offset ]; then - error "$file: different stripe offset $stripe_index, expected $offset" && return - fi - done - done - done -} - find_lustre_tar() { - [ -n "$(which tar 2>/dev/null)" ] && strings $(which tar) | grep -q lustre && echo tar + [ -n "$(which tar 2>/dev/null)" ] && + strings $(which tar) | grep -q "lustre" && echo tar } test_102d() {