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
}
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"
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
}
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()