Whamcloud - gitweb
LU-1538 tests: cleanup test output, acc-small
[fs/lustre-release.git] / lustre / tests / conf-sanity.sh
index 15e81ee..7397bc5 100644 (file)
@@ -1,6 +1,4 @@
 #!/bin/bash
-# -*- mode: Bash; tab-width: 4; indent-tabs-mode: t; -*-
-# vim:autoindent:shiftwidth=4:tabstop=4:
 
 # FIXME - there is no reason to use all of these different
 #   return codes, espcially when most of them are mapped to something
@@ -29,6 +27,7 @@ PTLDEBUG=${PTLDEBUG:--1}
 SAVE_PWD=$PWD
 LUSTRE=${LUSTRE:-`dirname $0`/..}
 RLUSTRE=${RLUSTRE:-$LUSTRE}
+export MULTIOP=${MULTIOP:-multiop}
 
 . $LUSTRE/tests/test-framework.sh
 init_test_env $@
@@ -50,14 +49,9 @@ if [ -n "$MDSSIZE" ]; then
 fi
 
 # pass "-E lazy_itable_init" to mke2fs to speed up the formatting time
-for facet in MGS MDS OST; do
-    opts=${facet}_MKFS_OPTS
-    if [[ ${!opts} != *lazy_itable_init* ]]; then
-        eval SAVED_${facet}_MKFS_OPTS=\"${!opts}\"
-        eval ${facet}_MKFS_OPTS=\"${!opts} \
---mkfsoptions='\\\"-E lazy_itable_init\\\"'\"
-    fi
-done
+if [[ "$LDISKFS_MKFS_OPTS" != *lazy_itable_init* ]]; then
+       LDISKFS_MKFS_OPTS=$(csa_add "$LDISKFS_MKFS_OPTS" -E lazy_itable_init)
+fi
 
 init_logging
 
@@ -587,7 +581,10 @@ test_17() {
 run_test 17 "Verify failed mds_postsetup won't fail assertion (2936) (should return errs)"
 
 test_18() {
-        [ "$FSTYPE" != "ldiskfs" ] && skip "not needed for FSTYPE=$FSTYPE" && return
+       if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
+               skip "Only applicable to ldiskfs-based MDTs"
+               return
+       fi
 
         local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
 
@@ -621,15 +618,9 @@ test_18() {
 
 
         echo "mount mds with large journal..."
-        local OLD_MDS_MKFS_OPTS=$MDS_MKFS_OPTS
 
-        local opts="--mdt --fsname=$FSNAME --device-size=$myMDSSIZE --param sys.timeout=$TIMEOUT $MDSOPT"
-
-        if combined_mgs_mds ; then
-            MDS_MKFS_OPTS="--mgs $opts"
-        else
-            MDS_MKFS_OPTS="--mgsnode=$MGSNID $opts"
-        fi
+       local OLD_MDSSIZE=$MDSSIZE
+       MDSSIZE=$myMDSSIZE
 
         reformat_and_config
         echo "mount lustre system..."
@@ -646,8 +637,8 @@ test_18() {
 
         cleanup || return $?
 
-        MDS_MKFS_OPTS=$OLD_MDS_MKFS_OPTS
-        reformat_and_config
+       MDSSIZE=$OLD_MDSSIZE
+       reformat_and_config
 }
 run_test 18 "check mkfs creates large journals"
 
@@ -843,6 +834,10 @@ run_test 23b "Simulate -EINTR during mount"
 fs2mds_HOST=$mds_HOST
 fs2ost_HOST=$ost_HOST
 
+MDSDEV1_2=$fs2mds_DEV
+OSTDEV1_2=$fs2ost_DEV
+OSTDEV2_2=$fs3ost_DEV
+
 cleanup_24a() {
        trap 0
        echo "umount $MOUNT2 ..."
@@ -863,14 +858,18 @@ test_24a() {
 
        [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST
 
-       local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2}
-       local fs2ostdev=${fs2ost_DEV:-$(ostdevname 1)_2}
+       local fs2mdsdev=$(mdsdevname 1_2)
+       local fs2ostdev=$(ostdevname 1_2)
+       local fs2mdsvdev=$(mdsvdevname 1_2)
+       local fs2ostvdev=$(ostvdevname 1_2)
 
        # test 8-char fsname as well
        local FSNAME2=test1234
-       add fs2mds $MDS_MKFS_OPTS --fsname=${FSNAME2} --nomgs --mgsnode=$MGSNID --reformat $fs2mdsdev || exit 10
+       add fs2mds $(mkfs_opts mds1) --nomgs --mgsnode=$MGSNID \
+               --fsname=${FSNAME2} --reformat $fs2mdsdev $fs2mdsvdev || exit 10
 
-       add fs2ost $OST_MKFS_OPTS --fsname=${FSNAME2} --reformat $fs2ostdev || exit 10
+       add fs2ost $(mkfs_opts ost1) --fsname=${FSNAME2} --reformat \
+               $fs2ostdev $fs2ostvdev || exit 10
 
        setup
        start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS && trap cleanup_24a EXIT INT
@@ -913,9 +912,11 @@ test_24b() {
                skip_env "mixed loopback and real device not working" && return
        fi
 
-       local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2}
+       local fs2mdsdev=$(mdsdevname 1_2)
+       local fs2mdsvdev=$(mdsvdevname 1_2)
 
-       add fs2mds $MDS_MKFS_OPTS --fsname=${FSNAME}2 --mgs --reformat $fs2mdsdev || exit 10
+       add fs2mds $(mkfs_opts mds1) --mgs --fsname=${FSNAME}2 --reformat \
+               $fs2mdsdev $fs2mdsvdev || exit 10
        setup
        start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS && return 2
        cleanup || return 6
@@ -957,7 +958,7 @@ set_and_check() {
            FINAL=$(($ORIG + 5))
        fi
        echo "Setting $PARAM from $ORIG to $FINAL"
-       do_facet $SINGLEMDS "$LCTL conf_param $PARAM='$FINAL'" || error conf_param failed
+       do_facet mgs "$LCTL conf_param $PARAM='$FINAL'" || error conf_param failed
 
        wait_update $(facet_host $myfacet) "$TEST" "$FINAL" || error check failed!
 }
@@ -1206,7 +1207,7 @@ test_32a() {
                { skip_env "Cannot untar $DISK1_8" && return 0; }
 
        load_modules
-       $LCTL set_param debug=$PTLDEBUG
+       $LCTL set_param debug="$PTLDEBUG"
 
        $TUNEFS $tmpdir/mds || error "tunefs failed"
 
@@ -1273,11 +1274,13 @@ test_32b() {
                { skip_env "Cannot untar $DISK1_8" && return ; }
 
        load_modules
-       $LCTL set_param debug="config"
+       $LCTL set_param debug="+config"
        local NEWNAME=lustre
 
        # writeconf will cause servers to register with their current nids
-       $TUNEFS --writeconf --fsname=$NEWNAME $tmpdir/mds || error "tunefs failed"
+       $TUNEFS --writeconf --erase-params \
+        --param mdt.identity_upcall=$L_GETIDENTITY \
+        --fsname=$NEWNAME $tmpdir/mds || error "tunefs failed"
        combined_mgs_mds || stop mgs
 
        start32 mds1 $tmpdir/mds "-o loop" && \
@@ -1287,7 +1290,8 @@ test_32b() {
        echo MDS uuid $UUID
        [ "$UUID" == "${NEWNAME}-MDT0000_UUID" ] || error "UUID is wrong: $UUID"
 
-       $TUNEFS --mgsnode=$HOSTNAME --writeconf --fsname=$NEWNAME $tmpdir/ost1 ||\
+       $TUNEFS  --writeconf --erase-params \
+        --mgsnode=$HOSTNAME --fsname=$NEWNAME $tmpdir/ost1 ||\
            error "tunefs failed"
        start32 ost1 $tmpdir/ost1 "-o loop" || return 5
        UUID=$($LCTL get_param -n obdfilter.${NEWNAME}-OST0000.uuid)
@@ -1337,6 +1341,7 @@ test_33a() { # bug 12333, was test_33
         local rc=0
         local FSNAME2=test-123
         local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
+       local mkfsoptions
 
         [ -n "$ost1_HOST" ] && fs2ost_HOST=$ost1_HOST
 
@@ -1347,12 +1352,19 @@ test_33a() { # bug 12333, was test_33
                 skip_env "mixed loopback and real device not working" && return
         fi
 
-        combined_mgs_mds || mkfs_opts="$mkfs_opts --nomgs"
+       local fs2mdsdev=$(mdsdevname 1_2)
+       local fs2ostdev=$(ostdevname 1_2)
+       local fs2mdsvdev=$(mdsvdevname 1_2)
+       local fs2ostvdev=$(ostvdevname 1_2)
+
+       if [ $(facet_fstype mds1) == ldiskfs ]; then
+               mkfsoptions="--mkfsoptions=\\\"-J size=8\\\"" # See bug 17931.
+       fi
 
-        local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2}
-        local fs2ostdev=${fs2ost_DEV:-$(ostdevname 1)_2}
-        add fs2mds $MDS_MKFS_OPTS --mkfsoptions='\"-J size=8\"' --fsname=${FSNAME2} --reformat $fs2mdsdev || exit 10
-        add fs2ost $OST_MKFS_OPTS --fsname=${FSNAME2} --index=8191 --mgsnode=$MGSNID --reformat $fs2ostdev || exit 10
+       add fs2mds $(mkfs_opts mds1) --fsname=${FSNAME2} --reformat \
+               $mkfsoptions $fs2mdsdev $fs2mdsvdev || exit 10
+       add fs2ost $(mkfs_opts ost1) --mgsnode=$MGSNID --fsname=${FSNAME2} \
+               --index=8191 --reformat $fs2ostdev $fs2ostvdev || exit 10
 
         start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS && trap cleanup_24a EXIT INT
         start fs2ost $fs2ostdev $OST_MOUNT_OPTS
@@ -1367,7 +1379,6 @@ test_33a() { # bug 12333, was test_33
         umount -d $MOUNT2
         stop fs2ost -f
         stop fs2mds -f
-        rm -rf $MOUNT2 $fs2mdsdev $fs2ostdev
         cleanup_nocli || rc=6
         return $rc
 }
@@ -1442,7 +1453,7 @@ test_35a() { # bug 12459
        log "Set up a fake failnode for the MDS"
        FAKENID="127.0.0.2"
        local device=$(do_facet $SINGLEMDS "lctl get_param -n devices" | awk '($3 ~ "mdt" && $4 ~ "MDT") { print $4 }' | head -1)
-       do_facet $SINGLEMDS $LCTL conf_param ${device}.failover.node=$FAKENID || return 4
+       do_facet mgs $LCTL conf_param ${device}.failover.node=$FAKENID || return 4
 
        log "Wait for RECONNECT_INTERVAL seconds (10s)"
        sleep 10
@@ -1496,7 +1507,7 @@ test_35b() { # bug 18674
        FAKENID="127.0.0.2"
        local device=$(do_facet $SINGLEMDS "$LCTL get_param -n devices" | \
                        awk '($3 ~ "mdt" && $4 ~ "MDT") { print $4 }' | head -1)
-       do_facet $SINGLEMDS "$LCTL conf_param ${device}.failover.node=$FAKENID" || \
+       do_facet mgs "$LCTL conf_param ${device}.failover.node=$FAKENID" || \
                return 1
 
        local at_max_saved=0
@@ -1580,14 +1591,21 @@ test_36() { # 12743
                skip_env "mixed loopback and real device not working" && return
         fi
 
-        local fs2mdsdev=${fs2mds_DEV:-${MDSDEV}_2}
-        local fs2ostdev=${fs2ost_DEV:-$(ostdevname 1)_2}
-        local fs3ostdev=${fs3ost_DEV:-$(ostdevname 2)_2}
-        add fs2mds $MDS_MKFS_OPTS --fsname=${FSNAME2} --reformat $fs2mdsdev || exit 10
-        # XXX after we support non 4K disk blocksize, change following --mkfsoptions with
-        # other argument
-        add fs2ost $OST_MKFS_OPTS --mkfsoptions='-b4096' --fsname=${FSNAME2} --mgsnode=$MGSNID --reformat $fs2ostdev || exit 10
-        add fs3ost $OST_MKFS_OPTS --mkfsoptions='-b4096' --fsname=${FSNAME2} --mgsnode=$MGSNID --reformat $fs3ostdev || exit 10
+       local fs2mdsdev=$(mdsdevname 1_2)
+       local fs2ostdev=$(ostdevname 1_2)
+       local fs3ostdev=$(ostdevname 2_2)
+       local fs2mdsvdev=$(mdsvdevname 1_2)
+       local fs2ostvdev=$(ostvdevname 1_2)
+       local fs3ostvdev=$(ostvdevname 2_2)
+
+       add fs2mds $(mkfs_opts mds1) --fsname=${FSNAME2} --reformat \
+               $fs2mdsdev $fs2mdsvdev || exit 10
+       # XXX after we support non 4K disk blocksize in ldiskfs, specify a
+       #     different one than the default value here.
+       add fs2ost $(mkfs_opts ost1) --mgsnode=$MGSNID --fsname=${FSNAME2} \
+               --reformat $fs2ostdev $fs2ostvdev || exit 10
+       add fs3ost $(mkfs_opts ost1) --mgsnode=$MGSNID --fsname=${FSNAME2} \
+               --reformat $fs3ostdev $fs3ostvdev || exit 10
 
         start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS
         start fs2ost $fs2ostdev $OST_MOUNT_OPTS
@@ -1630,7 +1648,6 @@ test_36() { # 12743
         stop fs3ost -f || return 200
         stop fs2ost -f || return 201
         stop fs2mds -f || return 202
-        rm -rf $MOUNT2 $fs2mdsdev $fs2ostdev $fs3ostdev
         unload_modules_conf || return 203
         return $rc
 }
@@ -1640,6 +1657,13 @@ test_37() {
        local mntpt=$(facet_mntpt $SINGLEMDS)
        local mdsdev=$(mdsdevname ${SINGLEMDS//mds/})
        local mdsdev_sym="$TMP/sym_mdt.img"
+       local opts=$MDS_MOUNT_OPTS
+       local rc=0
+
+       if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
+               skip "Currently only applicable to ldiskfs-based MDTs"
+               return
+       fi
 
        echo "MDS :     $mdsdev"
        echo "SYMLINK : $mdsdev_sym"
@@ -1649,8 +1673,11 @@ test_37() {
 
        echo "mount symlink device - $mdsdev_sym"
 
-       local rc=0
-       mount_op=$(do_facet $SINGLEMDS mount -v -t lustre $MDS_MOUNT_OPTS  $mdsdev_sym $mntpt 2>&1 )
+       if ! do_facet $SINGLEMDS test -b $mdsdev; then
+               opts=$(csa_add "$opts" -o loop)
+       fi
+       mount_op=$(do_facet $SINGLEMDS mount -v -t lustre $opts \
+               $mdsdev_sym $mntpt 2>&1)
        rc=${PIPESTATUS[0]}
 
        echo mount_op=$mount_op
@@ -1743,7 +1770,11 @@ test_40() { # bug 15759
 run_test 40 "race during service thread startup"
 
 test_41a() { #bug 14134
-        echo $MDS_MOUNT_OPTS | grep "loop" && skip " loop devices does not work with nosvc option" && return
+       if [ $(facet_fstype $SINGLEMDS) == ldiskfs ] &&
+          ! do_facet $SINGLEMDS test -b $(mdsdevname 1); then
+               skip "Loop devices does not work with nosvc option"
+               return
+       fi
 
         local rc
         local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/})
@@ -1768,7 +1799,11 @@ test_41a() { #bug 14134
 run_test 41a "mount mds with --nosvc and --nomgs"
 
 test_41b() {
-        echo $MDS_MOUNT_OPTS | grep "loop" && skip " loop devices does not work with nosvc option" && return
+       if [ $(facet_fstype $SINGLEMDS) == ldiskfs ] &&
+          ! do_facet $SINGLEMDS test -b $(mdsdevname 1); then
+               skip "Loop devices does not work with nosvc option"
+               return
+       fi
 
         ! combined_mgs_mds && skip "needs combined mgs device" && return 0
 
@@ -1989,7 +2024,7 @@ test_46a() {
        #second client see all ost's
 
        mount_client $MOUNT2 || return 8
-       $LFS setstripe $MOUNT2 -c -1 || return 9
+       $LFS setstripe -c -1 $MOUNT2 || return 9
        $LFS getstripe $MOUNT2 || return 10
 
        echo "ok" > $MOUNT2/widestripe
@@ -2057,9 +2092,9 @@ cleanup_48() {
 test_48() { # bug 17636
        reformat
        setup_noconfig
-        check_mount || return 2
+       check_mount || return 2
 
-       $LFS setstripe $MOUNT -c -1 || return 9
+       $LFS setstripe -c -1 $MOUNT || return 9
        $LFS getstripe $MOUNT || return 10
 
        echo "ok" > $MOUNT/widestripe
@@ -2081,12 +2116,12 @@ run_test 48 "too many acls on file"
 
 # check PARAM_SYS_LDLM_TIMEOUT option of MKFS.LUSTRE
 test_49() { # bug 17710
-       local OLD_MDS_MKFS_OPTS=$MDS_MKFS_OPTS
-       local OLD_OST_MKFS_OPTS=$OST_MKFS_OPTS
+       local timeout_orig=$TIMEOUT
+       local ldlm_timeout_orig=$LDLM_TIMEOUT
        local LOCAL_TIMEOUT=20
 
-
-       OST_MKFS_OPTS="--ost --fsname=$FSNAME --device-size=$OSTSIZE --mgsnode=$MGSNID --param sys.timeout=$LOCAL_TIMEOUT --param sys.ldlm_timeout=$LOCAL_TIMEOUT $MKFSOPT $OSTOPT"
+       LDLM_TIMEOUT=$LOCAL_TIMEOUT
+       TIMEOUT=$LOCAL_TIMEOUT
 
        reformat
        setup_noconfig
@@ -2109,7 +2144,7 @@ test_49() { # bug 17710
        stop_ost || return 2
        stop_mds || return 3
 
-       OST_MKFS_OPTS="--ost --fsname=$FSNAME --device-size=$OSTSIZE --mgsnode=$MGSNID --param sys.timeout=$LOCAL_TIMEOUT --param sys.ldlm_timeout=$((LOCAL_TIMEOUT - 1)) $MKFSOPT $OSTOPT"
+       LDLM_TIMEOUT=$((LOCAL_TIMEOUT - 1))
 
        reformat
        setup_noconfig
@@ -2129,8 +2164,8 @@ test_49() { # bug 17710
 
        cleanup || return $?
 
-       MDS_MKFS_OPTS=$OLD_MDS_MKFS_OPTS
-       OST_MKFS_OPTS=$OLD_OST_MKFS_OPTS
+       LDLM_TIMEOUT=$ldlm_timeout_orig
+       TIMEOUT=$timeout_orig
 }
 run_test 49 "check PARAM_SYS_LDLM_TIMEOUT option of MKFS.LUSTRE"
 
@@ -2421,6 +2456,7 @@ test_52() {
        local ost1mnt=$(facet_mntpt ost1)
        local ost1node=$(facet_active_host ost1)
        local ost1tmp=$TMP/conf52
+       local loop
 
        mkdir -p $DIR/$tdir
        [ $? -eq 0 ] || { error "Unable to create tdir"; return 4; }
@@ -2432,7 +2468,7 @@ test_52() {
        [ $? -eq 0 ] || { error "Unable to create temporary file"; return 6; }
        sleep 1
 
-       $LFS setstripe $DIR/$tdir -c -1 -s 1M
+       $LFS setstripe -c -1 -S 1M $DIR/$tdir
        [ $? -eq 0 ] || { error "lfs setstripe failed"; return 7; }
 
        for (( i=0; i < nrfiles; i++ )); do
@@ -2456,7 +2492,11 @@ test_52() {
        echo mount ost1 as ldiskfs
        do_node $ost1node mkdir -p $ost1mnt
        [ $? -eq 0 ] || { error "Unable to create $ost1mnt"; return 23; }
-       do_node $ost1node mount -t $FSTYPE $ost1_dev $ost1mnt $OST_MOUNT_OPTS
+       if ! do_node $ost1node test -b $ost1_dev; then
+               loop="-o loop"
+       fi
+       do_node $ost1node mount -t $(facet_fstype ost1) $loop $ost1_dev \
+               $ost1mnt
        [ $? -eq 0 ] || { error "Unable to mount ost1 as ldiskfs"; return 12; }
 
        # backup objects
@@ -2514,6 +2554,7 @@ thread_sanity() {
         local tstarted
         local paramp
         local msg="Insane $modname thread counts"
+       local ncpts=$(check_cpt_number)
         shift 4
 
         setup
@@ -2536,12 +2577,16 @@ thread_sanity() {
         lassert 23 "$msg (PDSH problems?)" '(($tstarted && $tmin && $tmax))' || return $?
         lassert 24 "$msg" '(($tstarted >= $tmin && $tstarted <= $tmax ))' || return $?
 
+       [ $tmin -eq $tmax -a $tmin -eq $tstarted ] &&
+               skip_env "module parameter forced $facet thread count" &&
+               tmin=3 && tmax=$((3 * tmax))
+
         # Check that we can change min/max
-        do_facet $facet "lctl set_param ${paramp}.threads_min=$((tmin + 1))"
-        do_facet $facet "lctl set_param ${paramp}.threads_max=$((tmax - 1))"
-        tmin2=$(do_facet $facet "lctl get_param -n ${paramp}.threads_min" || echo 0)
-        tmax2=$(do_facet $facet "lctl get_param -n ${paramp}.threads_max" || echo 0)
-        lassert 25 "$msg" '(($tmin2 == ($tmin + 1) && $tmax2 == ($tmax -1)))' || return $?
+       do_facet $facet "lctl set_param ${paramp}.threads_min=$((tmin + ncpts))"
+       do_facet $facet "lctl set_param ${paramp}.threads_max=$((tmax - ncpts))"
+       tmin2=$(do_facet $facet "lctl get_param -n ${paramp}.threads_min" || echo 0)
+       tmax2=$(do_facet $facet "lctl get_param -n ${paramp}.threads_max" || echo 0)
+       lassert 25 "$msg" '(($tmin2 == ($tmin + $ncpts) && $tmax2 == ($tmax - $ncpts)))' || return $?
 
         # Check that we can set min/max to the same value
         tmin=$(do_facet $facet "lctl get_param -n ${paramp}.threads_min" || echo 0)
@@ -2586,12 +2631,20 @@ thread_sanity() {
 }
 
 test_53a() {
-        thread_sanity OST ost1 'ost.*.ost' 'oss_num_threads=64'
+       local ncpts=$(check_cpt_number)
+       local nthrs
+
+       nthrs=`expr 16 \* $ncpts`
+       thread_sanity OST ost1 'ost.*.ost' 'oss_num_threads='$nthrs
 }
 run_test 53a "check OSS thread count params"
 
 test_53b() {
-        thread_sanity MDT $SINGLEMDS 'mdt.*.*.' 'mdt_num_threads=64'
+       local ncpts=$(check_cpt_number)
+       local nthrs
+
+       nthrs=`expr 16 \* $ncpts`
+       thread_sanity MDT $SINGLEMDS 'mdt.*.*.' 'mdt_num_threads='$nthrs
 }
 run_test 53b "check MDT thread count params"
 
@@ -2618,19 +2671,19 @@ lov_objid_size()
 
 test_55() {
        local mdsdev=$(mdsdevname 1)
-       local ostdev=$(ostdevname 1)
-       local saved_opts=$OST_MKFS_OPTS
+       local mdsvdev=$(mdsvdevname 1)
 
        for i in 1023 2048
        do
-               OST_MKFS_OPTS="$saved_opts --index $i"
-               reformat
-
+               add mds1 $(mkfs_opts mds1) --reformat $mdsdev $mdsvdev ||
+                       exit 10
+               add ost1 $(mkfs_opts ost1) --index=$i --reformat \
+                       $(ostdevname 1) $(ostvdevname 1)
                setup_noconfig
                stopall
-
-               setup
+               setup_noconfig
                sync
+
                echo checking size of lov_objid for ost index $i
                LOV_OBJID_SIZE=$(do_facet mds1 "$DEBUGFS -R 'stat lov_objid' $mdsdev 2>/dev/null" | grep ^User | awk '{print $6}')
                if [ "$LOV_OBJID_SIZE" != $(lov_objid_size $i) ]; then
@@ -2641,17 +2694,21 @@ test_55() {
                stopall
        done
 
-       OST_MKFS_OPTS=$saved_opts
        reformat
 }
 run_test 55 "check lov_objid size"
 
 test_56() {
-       add mds1 $MDS_MKFS_OPTS --mkfsoptions='\"-J size=16\"' --reformat $(mdsdevname 1)
-       add ost1 $OST_MKFS_OPTS --index=1000 --reformat $(ostdevname 1)
-       add ost2 $OST_MKFS_OPTS --index=10000 --reformat $(ostdevname 2)
+       local mds_journal_size_orig=$MDSJOURNALSIZE
 
-       start_mds
+       MDSJOURNALSIZE=16
+       add mds1 $(mkfs_opts mds1) --reformat $(mdsdevname 1) $(mdsvdevname 1)
+       add ost1 $(mkfs_opts ost1) --index=1000 --reformat \
+               $(ostdevname 1) $(ostvdevname 1)
+       add ost2 $(mkfs_opts ost2) --index=10000 --reformat \
+               $(ostdevname 2) $(ostvdevname 2)
+
+       start_mgsmds
        start_ost
        start_ost2 || error "Unable to start second ost"
        mount_client $MOUNT || error "Unable to mount client"
@@ -2659,6 +2716,7 @@ test_56() {
        $LFS osts
        [ -n "$ENABLE_QUOTA" ] && { $LFS quotacheck -ug $MOUNT || error "quotacheck has failed" ; }
        stopall
+       MDSJOURNALSIZE=$mds_journal_size_orig
        reformat
 }
 run_test 56 "check big indexes"
@@ -2688,8 +2746,11 @@ count_osts() {
 }
 
 test_58() { # bug 22658
-        [ "$FSTYPE" != "ldiskfs" ] && skip "not supported for $FSTYPE" && return
-       setup
+       if [ $(facet_fstype mds) == zfs ]; then
+               skip "Does not work with ZFS-based MDTs yet"
+               return
+       fi
+       setup_noconfig
        mkdir -p $DIR/$tdir
        createmany -o $DIR/$tdir/$tfile-%d 100
        # make sure that OSTs do not cancel llog cookies before we unmount the MDS
@@ -2742,7 +2803,14 @@ test_59() {
 run_test 59 "writeconf mount option"
 
 test_60() { # LU-471
-       add mds1 $MDS_MKFS_OPTS --mkfsoptions='\" -E stride=64 -O ^uninit_bg\"' --reformat $(mdsdevname 1)
+       if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then
+               skip "Only applicable to ldiskfs-based MDTs"
+               return
+       fi
+
+       add mds1 $(mkfs_opts mds1) \
+               --mkfsoptions='\" -E stride=64 -O ^uninit_bg\"' --reformat \
+               $(mdsdevname 1) $(mdsvdevname 1) || exit 10
 
        dump=$(do_facet $SINGLEMDS dumpe2fs $(mdsdevname 1))
        rc=${PIPESTATUS[0]}
@@ -2758,19 +2826,94 @@ test_60() { # LU-471
 }
 run_test 60 "check mkfs.lustre --mkfsoptions -E -O options setting"
 
+test_61() { # LU-80
+       local reformat=false
+
+       [ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.1.53) ] ||
+               { skip "Need MDS version at least 2.1.53"; return 0; }
+
+       if [ $(facet_fstype $SINGLEMDS) == ldiskfs ] &&
+          ! large_xattr_enabled; then
+               reformat=true
+               local mds_dev=$(mdsdevname ${SINGLEMDS//mds/})
+               LDISKFS_MKFS_OPTS+=" -O large_xattr"
+               add $SINGLEMDS $(mkfs_opts $SINGLEMDS) --reformat $mds_dev ||
+                       error "reformatting $mds_dev failed"
+       fi
+
+    setup_noconfig || error "setting up the filesystem failed"
+    client_up || error "starting client failed"
+
+    local file=$DIR/$tfile
+    touch $file
+
+    local large_value="$(generate_string $(max_xattr_size))"
+    local small_value="bar"
+
+    local name="trusted.big"
+    log "save large xattr $name on $file"
+    setfattr -n $name -v $large_value $file ||
+        error "saving $name on $file failed"
+
+    local new_value=$(get_xattr_value $name $file)
+    [[ "$new_value" != "$large_value" ]] &&
+        error "$name different after saving"
+
+    log "shrink value of $name on $file"
+    setfattr -n $name -v $small_value $file ||
+        error "shrinking value of $name on $file failed"
+
+    new_value=$(get_xattr_value $name $file)
+    [[ "$new_value" != "$small_value" ]] &&
+        error "$name different after shrinking"
+
+    log "grow value of $name on $file"
+    setfattr -n $name -v $large_value $file ||
+        error "growing value of $name on $file failed"
+
+    new_value=$(get_xattr_value $name $file)
+    [[ "$new_value" != "$large_value" ]] &&
+        error "$name different after growing"
+
+    log "check value of $name on $file after remounting MDS"
+    fail $SINGLEMDS
+    new_value=$(get_xattr_value $name $file)
+    [[ "$new_value" != "$large_value" ]] &&
+        error "$name different after remounting MDS"
+
+    log "remove large xattr $name from $file"
+    setfattr -x $name $file || error "removing $name from $file failed"
+
+    rm -f $file
+    stopall
+       if $reformat; then
+               LDISKFS_MKFS_OPTS=${LDISKFS_MKFS_OPTS% -O large_xattr}
+               reformat
+       fi
+}
+run_test 61 "large xattr"
+
+test_62() {
+    # MRP-118
+    local mdsdev=$(mdsdevname 1)
+    local ostdev=$(ostdevname 1)
+
+    echo "disable journal for mds"
+    do_facet mds tune2fs -O ^has_journal $mdsdev || error "tune2fs failed"
+    start_mds && error "MDT start should fail"
+    echo "disable journal for ost"
+    do_facet ost1 tune2fs -O ^has_journal $ostdev || error "tune2fs failed"
+    start_ost && error "OST start should fail"
+    cleanup || return $?
+    reformat_and_config
+}
+run_test 62 "start with disabled journal"
+
 if ! combined_mgs_mds ; then
        stop mgs
 fi
 
 cleanup_gss
 
-# restore the ${facet}_MKFS_OPTS variables
-for facet in MGS MDS OST; do
-    opts=SAVED_${facet}_MKFS_OPTS
-    if [[ -n ${!opts} ]]; then
-        eval ${facet}_MKFS_OPTS=\"${!opts}\"
-    fi
-done
-
 complete $(basename $0) $SECONDS
 exit_status