Whamcloud - gitweb
b=22187 Handle the NULL pointer as legal value.
[fs/lustre-release.git] / lustre / tests / sanity.sh
index c93d168..0752702 100644 (file)
@@ -490,7 +490,7 @@ test_17i() { #bug 20018
        local foo=$DIR/$tdir/$tfile
        ln -s $foo $foo || error "create symlink failed"
 #define OBD_FAIL_MDS_READLINK_EPROTO     0x143
-       do_facet mds lctl set_param fail_loc=0x80000144
+       do_facet mds lctl set_param fail_loc=0x80000143
        ls -l $foo && error "error not detected"
        return 0
 }
@@ -2564,7 +2564,7 @@ test_52a() {
        link $DIR/d52a/foo $DIR/d52a/foo_link 2>/dev/null && error "link worked"
        echo foo >> $DIR/d52a/foo || error "append foo failed"
        mrename $DIR/d52a/foo $DIR/d52a/foo_ren && error "rename worked"
-       lsattr $DIR/d52a/foo | egrep -q "^-+[ae]-+ $DIR/d52a/foo" || error "lsattr"
+       lsattr $DIR/d52a/foo | egrep -q "^-+a[-e]+ $DIR/d52a/foo" || error "lsattr"
        chattr -a $DIR/d52a/foo || error "chattr -a failed"
         cp -r $DIR/d52a /tmp/
        rm -fr $DIR/d52a || error "cleanup rm failed"
@@ -2584,7 +2584,7 @@ test_52b() {
        mrename $DIR/d52b/foo $DIR/d52b/foo_ren && error "rename worked"
        [ -f $DIR/d52b/foo ] || error
        [ -f $DIR/d52b/foo_ren ] && error
-       lsattr $DIR/d52b/foo | egrep -q "^-+[ie]-+ $DIR/d52b/foo" || error "lsattr"
+       lsattr $DIR/d52b/foo | egrep -q "^-+i[-e]+ $DIR/d52b/foo" || error "lsattr"
        chattr -i $DIR/d52b/foo || error "chattr failed"
 
        rm -fr $DIR/d52b || error
@@ -4379,6 +4379,28 @@ test_102j() {
 }
 run_test 102j "non-root tar restore stripe info from tarfile, not keep osts ==="
 
+test_102k() {
+        touch $DIR/$tfile
+        # b22187 just check that does not crash for regular file.
+        setfattr -n trusted.lov $DIR/$tfile
+        # b22187 'setfattr -n trusted.lov' should work as remove LOV EA for directories
+        local test_kdir=$DIR/d102k
+        mkdir $test_kdir
+        local default_size=`$GETSTRIPE -s $test_kdir`
+        local default_count=`$GETSTRIPE -c $test_kdir`
+        local default_offset=`$GETSTRIPE -o $test_kdir`
+        $SETSTRIPE -s 65536 -i 1 -c 2 $test_kdir || error 'dir setstripe failed'
+        setfattr -n trusted.lov $test_kdir
+        local stripe_size=`$GETSTRIPE -s $test_kdir`
+        local stripe_count=`$GETSTRIPE -c $test_kdir`
+        local stripe_offset=`$GETSTRIPE -o $test_kdir`
+        [ $stripe_size -eq $default_size ] || error "stripe size $stripe_size != $default_size"
+        [ $stripe_count -eq $default_count ] || error "stripe count $stripe_count != $default_count"
+        [ $stripe_offset -eq $default_offset ] || error "stripe offset $stripe_offset != $default_offset"
+        rm -rf $DIR/$tfile $test_kdir
+}
+run_test 102k "setfattr without parameter of value shouldn't cause a crash"
+
 cleanup_test102
 
 run_acl_subtest()