Whamcloud - gitweb
LU-11130 osd-ldiskfs: create non-empty local agent symlinks
[fs/lustre-release.git] / lustre / tests / conf-sanity.sh
index a142cd6..49403bc 100644 (file)
@@ -1554,7 +1554,7 @@ t32_wait_til_devices_gone() {
 }
 
 t32_verify_quota() {
-       local node=$1
+       local facet=$1
        local fsname=$2
        local mnt=$3
        local fstype=$(facet_fstype $SINGLEMDS)
@@ -1566,7 +1566,7 @@ t32_verify_quota() {
        # verification in 32b. The object quota usage should be accurate after
        # zfs-0.7.0 is released.
        [ $fstype == "zfs" ] && {
-               local zfs_version=$(do_node $node cat /sys/module/zfs/version)
+               local zfs_version=$(do_facet $facet cat /sys/module/zfs/version)
 
                [ $(version_code $zfs_version) -lt $(version_code 0.7.0) ] && {
                        echo "Skip quota verify for zfs: $zfs_version"
@@ -1612,13 +1612,13 @@ t32_verify_quota() {
                return 1
        }
 
-       set_persistent_param_and_check $node \
+       set_persistent_param_and_check $facet \
                "osd-$fstype.$fsname-MDT0000.quota_slave.enabled" \
-               $fsname.quota.mdt" ug
+               "$fsname.quota.mdt" ug
 
-       set_persistent_param_and_check $node \
+       set_persistent_param_and_check $facet \
                "osd-$fstype.$fsname-OST0000.quota_slave.enabled" \
-               $fsname.quota.ost" ug
+               "$fsname.quota.ost" ug
 
        chmod 0777 $mnt
        runas -u $T32_QID -g $T32_QID dd if=/dev/zero of=$mnt/t32_qf_new \
@@ -2024,6 +2024,12 @@ t32_test() {
                shall_cleanup_lustre=true
                $r $LCTL set_param debug="$PTLDEBUG"
 
+               # Leave re-enabling this to a separate patch for LU-11558
+               # t32_verify_quota $SINGLEMDS $fsname $tmp/mnt/lustre || {
+               #       error_noexit "verify quota failed"
+               #       return 1
+               #}
+
                if $r test -f $tmp/list; then
                        #
                        # There is not a Test Framework API to copy files to or
@@ -2281,7 +2287,7 @@ t32_test() {
                }
                nrpcs=$((nrpcs_orig + 5))
 
-               set_persistent_param_and_check $HOSTNAME \
+               set_persistent_param_and_check client \
                   "mdc.$fsname-MDT0000*.max_rpcs_in_flight" \
                   "$fsname-MDT0000.mdc.max_rpcs_in_flight" $nrpcs || {
                        error_noexit "Changing \"max_rpcs_in_flight\""
@@ -8171,6 +8177,31 @@ test_117() {
 }
 run_test 117 "lctl get_param return errors properly"
 
+test_120() { # LU-11130
+       [ "$MDSCOUNT" -lt 2 ] && skip "mdt count < 2"
+       [ $(facet_fstype $SINGLEMDS) != "ldiskfs" ] &&
+               skip "ldiskfs only test"
+       [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+               skip "Need DNE2 capable MD target with LU-11130 fix"
+
+       setup
+
+       local mds1host=$(facet_active_host mds1)
+       local mds1dev=$(mdsdevname 1)
+
+       $LFS mkdir -i 1 $DIR/$tdir
+       $LFS mkdir -i 0 $DIR/$tdir/mds1dir
+
+       ln -s foo $DIR/$tdir/bar
+       mv $DIR/$tdir/bar $DIR/$tdir/mds1dir/bar2 ||
+               error "cross-target rename failed"
+
+       stopall
+
+       run_e2fsck $mds1host $mds1dev "-n"
+}
+run_test 120 "cross-target rename should not create bad symlinks"
+
 test_122() {
        [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
        [[ $(lustre_version_code ost1) -ge $(version_code 2.11.53) ]] ||
@@ -8193,6 +8224,45 @@ test_122() {
 }
 run_test 122 "Check OST sequence update"
 
+test_123() {
+       setupall
+       local yaml_file="$TMP/$tfile.yaml"
+       do_facet mgs rm "$yaml_file"
+       local cfgfiles=$(do_facet mgs "lctl --device MGS llog_catlist |"\
+                       " sed 's/config_log://'")
+
+       # set jobid_var to a different value for test
+       local orig_val=$(do_facet mgs $LCTL get_param jobid_var)
+       do_facet mgs $LCTL set_param -P jobid_var="testname"
+
+       for i in params $cfgfiles; do
+               do_facet mgs "lctl --device MGS llog_print ${i} >> $yaml_file"
+       done
+
+       echo "Unmounting FS"
+       stopall
+       echo "Writeconf"
+       writeconf_all
+       echo "Remounting"
+       mountmgs
+       mountmds
+       mountoss
+       mountcli
+
+       # Reapply the config from before
+       echo "Setting configuration parameters"
+       do_facet mgs "lctl set_param -F $yaml_file"
+
+       local set_val=$(do_facet mgs $LCTL get_param jobid_var)
+       do_facet mgs $LCTL set_param -P $orig_val
+
+       [ $set_val == "jobid_var=testname" ] ||
+               error "$set_val is not testname"
+
+       do_facet mgs rm "$yaml_file"
+}
+run_test 123 "clear and reset all parameters using set_param -F"
+
 if ! combined_mgs_mds ; then
        stop mgs
 fi