# These tests don't apply to mountconf
MOUNTCONFSKIP="10 11 12 13 13b 14 15"
-# bug number for skipped test: 13739 13710
-HEAD_EXCEPT=" 32a 32b 33"
+# bug number for skipped test: 13739
+HEAD_EXCEPT=" 32a 32b "
-# bug number for skipped test: 13709 10510 12743
-ALWAYS_EXCEPT=" $CONF_SANITY_EXCEPT $MOUNTCONFSKIP $HEAD_EXCEPT 22 23 36"
+# bug number for skipped test: 10510 12743
+ALWAYS_EXCEPT=" $CONF_SANITY_EXCEPT $MOUNTCONFSKIP $HEAD_EXCEPT 23 36"
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
#
-[ "$SLOW" = "no" ] && EXCEPT="$EXCEPT 0 1 2 3 6 7 15 18 24b 25 30 31 32 33 34a "
+[ "$SLOW" = "no" ] && EXCEPT_SLOW="0 1 2 3 6 7 15 18 24b 25 30 31 32 33 34a "
SRCDIR=`dirname $0`
PATH=$PWD/$SRCDIR:$SRCDIR:$SRCDIR/../utils:$PATH
start_mds
[ -d $MOUNT ] || mkdir -p $MOUNT
grep " $MOUNT " /etc/mtab && echo "test 5c: mtab before mount" && return 10
- mount -t lustre $MGSNID:/wrong.$FSNAME $MOUNT || :
+ local oldfs="${FSNAME}"
+ FSNAME="wrong.${FSNAME}"
+ mount_client $MOUNT || :
+ FSNAME=${oldfs}
grep " $MOUNT " /etc/mtab && echo "test 5c: mtab after failed mount" && return 11
umount_client $MOUNT
cleanup_nocli || return $?
cleanup_nocli
#writeconf to remove all ost2 traces for subsequent tests
writeconf
+ start_mds
+ start_ost
+ cleanup
}
run_test 29 "permanently remove an OST"
test_30() {
- # start mds first after writeconf
- start_mds
- start_ost
- mount_client $MOUNT
+ setup
+
TEST="cat $LPROC/llite/$FSNAME-*/max_read_ahead_whole_mb"
ORIG=$($TEST)
for i in $(seq 1 20); do
}
run_test 37 "verify set tunables works for symlink device"
+test_38() { # bug 14222
+ setup
+ # like runtests
+ COUNT=10
+ SRC="/etc /bin"
+ FILES=`find $SRC -type f -mtime +1 | head -n $COUNT`
+ log "copying $(echo $FILES | wc -w) files to $DIR/$tdir"
+ mkdir -p $DIR/$tdir
+ tar cf - $FILES | tar xf - -C $DIR/$tdir || \
+ error "copying $SRC to $DIR/$tdir"
+ sync
+ umount_client $MOUNT
+ stop_mds
+ log "rename lov_objid file on MDS"
+ rm -f $TMP/lov_objid.orig
+ do_facet mds "debugfs -w $MDSDEV" <<-EOF
+ dump lov_objid $TMP/lov_objid.orig
+ rm lov_objid
+ EOF
+ do_facet mds "od -Ax -td8 $TMP/lov_objid.orig"
+ # check create in mds_lov_connect
+ start_mds
+ mount_client $MOUNT
+ for f in $FILES; do
+ [ $V ] && log "verifying $DIR/$tdir/$f"
+ diff $f $DIR/$tdir/$f || ERROR=y
+ done
+ do_facet mds "debugfs -c $MDSDEV" <<-EOF
+ dump lov_objid $TMP/lov_objid.new
+ EOF
+ do_facet mds "od -Ax -td8 $TMP/lov_objid.new"
+ [ "$ERROR" = "y" ] && error "old and new files are different after connect" || true
+
+
+ # check it's updates in sync
+ umount_client $MOUNT
+ stop_mds
+ multiop $TMP/lov_objid.clear Ow4096c
+ do_facet mds "debugfs -w $MDSDEV" <<-EOF
+ write $TMP/lov_objid.clear lov_objid
+ EOF
+ start_mds
+ mount_client $MOUNT
+ for f in $FILES; do
+ [ $V ] && log "verifying $DIR/$tdir/$f"
+ diff $f $DIR/$tdir/$f || ERROR=y
+ done
+ do_facet mds "debugfs -c $MDSDEV" <<-EOF
+ dump lov_objid $TMP/lov_objid.new1
+ EOF
+ do_facet mds "od -Ax -td8 $TMP/lov_objid.new1"
+ umount_client $MOUNT
+ stop_mds
+ [ "$ERROR" = "y" ] && error "old and new files are different after sync" || true
+
+ log "files compared the same"
+ #cleanup
+}
+run_test 38 "MDS recreates missing lov_objid file from OST data"
+
umount_client $MOUNT
cleanup_nocli
cleanup_krb5_env