if $SHARED_KEY; then
always_except LU-14181 64e 64f
+ always_except LU-15910 413g
fi
# skip the grant tests for ARM until they are fixed
if [[ $(uname -m) = aarch64 ]]; then
always_except LU-11671 45
- always_except LU-14067 400a 400b
fi
# skip nfs tests on kernels >= 4.12.0 until they are fixed
}
test_180a() {
- [ $PARALLEL == "yes" ] && skip "skip parallel run"
-
- if ! [ -d /sys/fs/lustre/echo_client ] &&
- ! module_loaded obdecho; then
- load_module obdecho/obdecho &&
- stack_trap "rmmod obdecho" EXIT ||
- error "unable to load obdecho on client"
- fi
-
- local osc=$($LCTL dl | grep -v mdt | awk '$3 == "osc" {print $4; exit}')
- local host=$($LCTL get_param -n osc.$osc.import |
- awk '/current_connection:/ { print $2 }' )
- local target=$($LCTL get_param -n osc.$osc.import |
- awk '/target:/ { print $2 }' )
- target=${target%_UUID}
-
- if [ -n "$target" ]; then
- setup_obdecho_osc $host $target &&
- stack_trap "cleanup_obdecho_osc $target" EXIT ||
- { error "obdecho setup failed with $?"; return; }
-
- obdecho_test ${target}_osc client ||
- error "obdecho_test failed on ${target}_osc"
- else
- $LCTL get_param osc.$osc.import
- error "there is no osc.$osc.import target"
- fi
+ skip "obdecho on osc is no longer supported"
}
run_test 180a "test obdecho on osc"
local connect_data_name="max_mod_rpcs"
local out
- remote_mds_nodsh && skip "remote MDS with nodsh" && return
+ remote_mds_nodsh && skip "remote MDS with nodsh"
[[ $MDSCOUNT -ge 2 ]] || skip "needs >= 2 MDTs"
# check if multiple modify RPCs flag is set
out=$(do_facet mds1 \
- $LCTL get_param osp.$FSNAME-MDT0001-osp-MDT0000.import |
- grep "connect_flags:")
+ $LCTL get_param osp.$FSNAME-MDT0001-osp-MDT0000.import |
+ grep "connect_flags:")
echo "$out"
- if [[ "$out" =~ $flagname ]]; then
- echo "connect flag $flagname is not set"
- return 0
- fi
+ [[ "$out" =~ $flagname ]] || skip "connect flag $flagname is not set"
# check if multiple modify RPCs data is set
out=$(do_facet mds1 \
- $LCTL get_param osp.$FSNAME-MDT0001-osp-MDT0000.import)
+ $LCTL get_param osp.$FSNAME-MDT0001-osp-MDT0000.import)
[[ "$out" =~ $connect_data_name ]] ||
- error "import should have connect data $connect_data_name"
+ {
+ echo "$out"
+ error "missing connect data $connect_data_name"
+ }
}
run_test 245b "check osp connection flag/data: multiple modify RPCs"
}
run_test 413e "check default max-inherit value"
-test_413f() {
- (( MDSCOUNT >= 2 )) || skip "We need at least 2 MDTs for this test"
-
- (( MDS1_VERSION >= $(version_code 2.14.55) )) ||
- skip "Need server version at least 2.14.55"
-
- getfattr -d -m trusted.dmv --absolute-names $DIR > $TMP/dmv.ea ||
- error "dump $DIR default LMV failed"
- stack_trap "setfattr --restore=$TMP/dmv.ea"
-
- $LFS setdirstripe -D -i -1 -c 1 -X 3 --max-inherit-rr 3 $DIR ||
- error "set $DIR default LMV failed"
-
+test_fs_dmv_inherit()
+{
local testdir=$DIR/$tdir
local count
local inherit
local inherit_rr
- for i in $(seq 3); do
+ for i in 1 2 3; do
mkdir $testdir || error "mkdir $testdir failed"
count=$($LFS getdirstripe -D -c $testdir)
(( count == 1 )) ||
(( count == 0 )) ||
error "$testdir default LMV count not zero: $count"
}
+
+test_413f() {
+ (( MDSCOUNT >= 2 )) || skip "We need at least 2 MDTs for this test"
+
+ (( MDS1_VERSION >= $(version_code 2.14.55) )) ||
+ skip "Need server version at least 2.14.55"
+
+ getfattr -d -m trusted.dmv --absolute-names $DIR > $TMP/dmv.ea ||
+ error "dump $DIR default LMV failed"
+ stack_trap "setfattr --restore=$TMP/dmv.ea"
+
+ $LFS setdirstripe -D -i -1 -c 1 -X 3 --max-inherit-rr 3 $DIR ||
+ error "set $DIR default LMV failed"
+
+ test_fs_dmv_inherit
+}
run_test 413f "lfs getdirstripe -D list ROOT default LMV if it's not set on dir"
+test_413g() {
+ (( MDSCOUNT >= 2 )) || skip "We need at least 2 MDTs for this test"
+
+ mkdir -p $DIR/$tdir/l2/l3/l4 || error "mkdir $tdir/l1/l2/l3 failed"
+ getfattr -d -m trusted.dmv --absolute-names $DIR > $TMP/dmv.ea ||
+ error "dump $DIR default LMV failed"
+ stack_trap "setfattr --restore=$TMP/dmv.ea"
+
+ $LFS setdirstripe -D -i -1 -c 1 -X 3 --max-inherit-rr 3 $DIR ||
+ error "set $DIR default LMV failed"
+
+ FILESET="$FILESET/$tdir/l2/l3/l4" mount_client $MOUNT2 ||
+ error "mount $MOUNT2 failed"
+ stack_trap "umount_client $MOUNT2"
+
+ local saved_DIR=$DIR
+
+ export DIR=$MOUNT2
+
+ stack_trap "export DIR=$saved_DIR"
+
+ # first check filesystem-wide default LMV inheritance
+ test_fs_dmv_inherit || error "incorrect fs default LMV inheritance"
+
+ # then check subdirs are spread to all MDTs
+ createmany -d $DIR/s $((MDSCOUNT * 100)) || error "createmany failed"
+
+ local count=$($LFS getstripe -m $DIR/s* | sort -u | wc -l)
+
+ (( $count == $MDSCOUNT )) || error "dirs are spread to $count MDTs"
+}
+run_test 413g "enforce ROOT default LMV on subdir mount"
+
test_413z() {
local pids=""
local subdir