diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh
index cd59df25b69b7446abbccdeeee0ea3fb9a5df722..4499f2c35fc9d96d0ab428e6a3859d4964f7cb0f 100644
--- a/lustre/tests/conf-sanity.sh
+++ b/lustre/tests/conf-sanity.sh
@@ -513,7 +513,7 @@ test_12() {
 }
 run_test 12 "lmc --batch, with single/double quote, backslash in batchfile"
 
-test_13() {
+test_13a() {	# was test_13
         OLDXMLCONFIG=$XMLCONFIG
         XMLCONFIG="conf13-1.xml"
 
@@ -546,7 +546,7 @@ test_13() {
         rm -f $XMLCONFIG
         XMLCONFIG=$OLDXMLCONFIG
 }
-run_test 13 "check new_uuid of lmc operating correctly"
+run_test 13a "check new_uuid of lmc operating correctly"
 
 test_13b() {
         OLDXMLCONFIG=$XMLCONFIG
diff --git a/lustre/tests/replay-dual.sh b/lustre/tests/replay-dual.sh
index 1e2a23abddd9d01561b943e06a70bbd13e3949c3..ec4190de0e1d0de905fa2c7392d0fb9dda19e7c8 100755
--- a/lustre/tests/replay-dual.sh
+++ b/lustre/tests/replay-dual.sh
@@ -260,7 +260,7 @@ test_14() {
 }
 run_test 14 "timeouts waiting for lost client during replay"
 
-test_15() {
+test_15a() {	# was test_15
     replay_barrier mds
     createmany -o $MOUNT1/$tfile- 25
     createmany -o $MOUNT2/$tfile-2- 1
@@ -275,72 +275,7 @@ test_15() {
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
     return 0
 }
-run_test 15 "timeout waiting for lost client during replay, 1 client completes"
-
-test_15a() {
-    local ost_last_id=""
-    local osc_last_id=""
-    
-    replay_barrier mds
-    echo "data" > "$MOUNT2/${tfile}-m2"
-
-    umount $MOUNT2
-    facet_failover mds
-    df $MOUNT || return 1
-    
-    ost_last_id=`cat /proc/fs/lustre/obdfilter/*/last_id`
-    mds_last_id=`cat /proc/fs/lustre/osc/*mds*/last_id`
-    
-    echo "Ids after MDS<->OST synchonizing"
-    echo "--------------------------------"
-    echo "MDS last_id:"
-    echo $mds_last_id
-    echo "OST last_id:"
-    echo $ost_last_id
-
-    local i=0
-    echo $ost_last_id | while read id; do
-	ost_ids[$i]=$id
-	((i++))
-    done
-    
-    i=0
-    echo $mds_last_id | while read id; do
-	mds_ids[$i]=$id
-	((i++))
-    done
-    
-    local arr_len=${#mds_ids[*]}
-    for ((i=0;i<$arr_len;i++)); do
-	    mds_id=${mds_ids[i]}
-	    ost_id=${ost_ids[i]}
-	    
-	    test $mds_id -ge $ost_id || {
-		echo "MDS last id ($mds_id) is smaller than OST one ($ost_id)"
-		return 2
-	    }
-    done
-
-    zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
-    return 0
-}
-#CROW run_test 15a "OST clear orphans - synchronize ids on MDS and OST"
-
-test_15b() {
-    replay_barrier mds
-    echo "data" > "$MOUNT2/${tfile}-m2"
-    umount $MOUNT2
-
-    do_facet ost1 "lctl set_param fail_loc=0x80000802"
-    facet_failover mds
-
-    df $MOUNT || return 1
-    do_facet ost1 "lctl set_param fail_loc=0"
-    
-    zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
-    return 0
-}
-#CROW run_test 15b "multiple delayed OST clear orphans"
+run_test 15a "timeout waiting for lost client during replay, 1 client completes"
 
 test_15c() {
     replay_barrier mds
diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh
index dcdc1190407d6ff71785e1bdd974e15d73ab0bfe..c79656cc1a1373a36bcd552d9a706b72016c67a9 100755
--- a/lustre/tests/replay-single.sh
+++ b/lustre/tests/replay-single.sh
@@ -17,11 +17,11 @@ CHECK_GRANT=${CHECK_GRANT:-"yes"}
 GRANT_CHECK_LIST=${GRANT_CHECK_LIST:-""}
 
 # Skip these tests
-# bug number: 
+# bug number:
 ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT"
 
-#                                                     63 min  7 min  AT AT AT AT"
-[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 6 6b 12 16 44      44b    65 66 67 68"
+#                                                  63 min  7 min  AT AT AT AT"
+[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 6 12 16 44a     44b    65 66 67 68"
 
 build_test_filter
 
@@ -31,11 +31,11 @@ mkdir -p $DIR
 
 rm -rf $DIR/[df][0-9]*
 
-test_0() {
+test_0a() {	# was test_0
     replay_barrier mds
     fail mds
 }
-run_test 0 "empty replay"
+run_test 0a "empty replay"
 
 test_0b() {
     # this test attempts to trigger a race in the precreation code, 
@@ -55,50 +55,6 @@ test_1() {
 }
 run_test 1 "simple create"
 
-test_1a() {
-    do_facet ost1 "lctl set_param fail_loc=0"
-
-    rm -fr $DIR/$tfile
-    local old_last_id=`lctl get_param -n obdfilter.*.last_id`
-    touch -o $DIR/$tfile 1
-    sync
-    local new_last_id=`lctl get_param -n obdfilter.*.last_id`
-    
-    test "$old_last_id" = "$new_last_id" || {
-	echo "OST object create is caused by MDS"
-	return 1
-    }
-    
-    old_last_id=`lctl get_param -n obdfilter.*.last_id`
-    echo "data" > $DIR/$tfile
-    sync
-    new_last_id=`lctl get_param -n obdfilter.*.last_id`
-    test "$old_last_id" = "$new_last_id "&& {
-	echo "CROW does not work on write"
-	return 1
-    }
-    
-    rm -fr $DIR/$tfile
-
-#define OBD_FAIL_OST_CROW_EIO | OBD_FAIL_ONCE
-    do_facet ost1 "lctl set_param fail_loc=0x80000801"
-
-    rm -fr $DIR/1a1
-    old_last_id=`lctl get_param -n obdfilter.*.last_id`
-    echo "data" > $DIR/1a1
-    sync
-    new_last_id=`lctl get_param -n obdfilter.*.last_id`
-    test "$old_last_id" = "$new_last_id" || {
-	echo "CROW does work with fail_loc=0x80000801"
-	return 1
-    }
-    
-    rm -fr $DIR/1a1
-    
-    do_facet ost1 "lctl set_param fail_loc=0"
-}
-#CROW run_test 1a "CROW object create (check OST last_id)"
-
 test_2a() {
     replay_barrier mds
     touch $DIR/$tfile
@@ -153,7 +109,7 @@ test_3c() {
 }
 run_test 3c "replay failed open -ENOMEM"
 
-test_4() {
+test_4a() {	# was test_4
     replay_barrier mds
     for i in `seq 10`; do
         echo "tag-$i" > $DIR/$tfile-$i
@@ -163,7 +119,7 @@ test_4() {
       grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i"
     done 
 }
-run_test 4 "|x| 10 open(O_CREAT)s"
+run_test 4a "|x| 10 open(O_CREAT)s"
 
 test_4b() {
     replay_barrier mds
@@ -191,7 +147,7 @@ test_5() {
 run_test 5 "|x| 220 open(O_CREAT)"
 
 
-test_6() {
+test_6a() {	# was test_6a
     replay_barrier mds
     mcreate $DIR/$tdir/$tfile
     fail mds
@@ -200,7 +156,7 @@ test_6() {
     sleep 2
     # waiting for log process thread
 }
-run_test 6 "mkdir + contained create"
+run_test 6a "mkdir + contained create"
 
 test_6b() {
     replay_barrier mds
@@ -401,7 +357,7 @@ test_19() {
 }
 run_test 19 "|X| mcreate, open, write, rename "
 
-test_20() {
+test_20a() {	# was test_20
     replay_barrier mds
     multiop_bg_pause $DIR/$tfile O_tSc || return 3
     pid=$!
@@ -413,7 +369,7 @@ test_20() {
     [ -e $DIR/$tfile ] && return 2
     return 0
 }
-run_test 20 "|X| open(O_CREAT), unlink, replay, close (test mds_cleanup_orphans)"
+run_test 20a "|X| open(O_CREAT), unlink, replay, close (test mds_cleanup_orphans)"
 
 test_20b() { # bug 10480
     BEFOREUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
@@ -673,7 +629,7 @@ test_32() {
 run_test 32 "close() notices client eviction; close() after client eviction"
 
 # Abort recovery before client complete
-test_33() {
+test_33a() {	# was test_33
     replay_barrier mds
     createmany -o $DIR/$tfile-%d 100 
     fail_abort mds
@@ -682,7 +638,7 @@ test_33() {
     unlinkmany $DIR/$tfile-%d 0 100
     return 0
 }
-run_test 33 "abort recovery before client does replay"
+run_test 33a "abort recovery before client does replay"
 
 test_34() {
     multiop_bg_pause $DIR/$tfile O_c || return 2
@@ -873,7 +829,7 @@ test_43() { # bug 2530
 }
 run_test 43 "mds osc import failure during recovery; don't LBUG"
 
-test_44() {
+test_44a() {	# was test_44
     local at_max_saved=0
 
     mdcdev=`lctl get_param -n devices | awk '/-mdc-/ {print $1}'`
@@ -898,7 +854,7 @@ test_44() {
     [ $at_max_saved -ne 0 ] && at_max_set $at_max_saved mds
     return 0
 }
-run_test 44 "race in target handle connect"
+run_test 44a "race in target handle connect"
 
 test_44b() {
     mdcdev=`lctl get_param -n devices | awk '/-mdc-/ {print $1}'`
diff --git a/lustre/tests/sanity-quota.sh b/lustre/tests/sanity-quota.sh
index 8591dc57d909d0457e74765a9a8157d028b5db2d..7e2a9a2b75aa8ebdc5c3be319cf7edd743279471 100644
--- a/lustre/tests/sanity-quota.sh
+++ b/lustre/tests/sanity-quota.sh
@@ -470,7 +470,7 @@ test_file_soft() {
 }
 
 # file soft limit (start timer, timer goes off, stop timer)
-test_4() {
+test_4a() {	# was test_4
 	chmod 0777 $DIR/$tdir
 	LIMIT=$(($IUNIT_SZ * 10))	# 10 iunits on mds
 	TESTFILE=$DIR/$tdir/$tfile-0
@@ -498,9 +498,9 @@ test_4() {
 	$LFS setquota -t -u $MAX_DQ_TIME $MAX_IQ_TIME $DIR
 	$LFS setquota -t -g $MAX_DQ_TIME $MAX_IQ_TIME $DIR
 }
-run_test 4 "File soft limit (start timer, timer goes off, stop timer) ==="
+run_test 4a "File soft limit (start timer, timer goes off, stop timer) ==="
 
-test_4a() {
+test_4b() {	# was test_4a
         GR_STR1="1w3d"
         GR_STR2="1000s"
         GR_STR3="5s"
@@ -526,7 +526,7 @@ test_4a() {
         $LFS setquota -t -u $MAX_DQ_TIME $MAX_IQ_TIME $DIR
         $LFS setquota -t -g $MAX_DQ_TIME $MAX_IQ_TIME $DIR
 }
-run_test 4a "Grace time strings handling ==="
+run_test 4b "Grace time strings handling ==="
 
 # chown & chgrp (chown & chgrp successfully even out of block/file quota)
 test_5() {
@@ -1076,7 +1076,7 @@ pre_test_14 () {
 }
 pre_test_14
 
-test_14(){ # b=12223 -- setting quota on root
+test_14a() {	# was test_14 b=12223 -- setting quota on root
 	TESTFILE="$DIR/$tdir/$tfile"
 
 	# out of root's file and block quota
@@ -1104,14 +1104,14 @@ test_14(){ # b=12223 -- setting quota on root
 	rm -f $TESTFILE
 	sync; sleep 3; sync;
 }
-run_test 14 "test setting quota on root ==="
+run_test 14a "test setting quota on root ==="
 
 quota_set_version() {
 	local qver=$1
 	do_facet mds "lctl set_param mds.${FSNAME}-MDT*.quota_type=$qver"
 }
 
-test_14a(){
+test_14b() {	# was test_14a
         # 1. check that required users exist
         # 2. ensure that switch to new mode will start conversion
         # 3. start quota in old mode and put some entries
@@ -1152,7 +1152,7 @@ test_14a(){
                 $LFS setquota -u quota15_$i 0 0 0 0 $DIR || error "ifs setquota clear failed"
         done
 }
-run_test 14a "setting 30 quota entries in quota v1 file before conversion ==="
+run_test 14b "setting 30 quota entries in quota v1 file before conversion ==="
 
 test_15(){
         LIMIT=$((24 * 1024 * 1024 * 1024 * 1024)) # 24 TB
diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh
index cea6a8d088a4e901566d057147495d4647d33902..77febfa3404a319c5019d522913919aeb0213423 100644
--- a/lustre/tests/sanity.sh
+++ b/lustre/tests/sanity.sh
@@ -7,8 +7,8 @@
 set -e
 
 ONLY=${ONLY:-"$*"}
-# bug number for skipped test:  13297 2108 9789 3637 9789 3561 12622 13310 10764
-ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"27u   42a  42b  42c  42d  45   51d   74b   75 $SANITY_EXCEPT" }
+# bug number for skipped test:  13297 2108 9789 3637 9789 3561 12622 15528/2330 13310 10764
+ALWAYS_EXCEPT=${ALWAYS_EXCEPT:-"27u   42a  42b  42c  42d  45   51d   62         74b   75 $SANITY_EXCEPT" }
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
 # Tests that fail on uml, maybe elsewhere, FIXME
@@ -2032,7 +2032,7 @@ test_50() {
 }
 run_test 50 "special situations: /proc symlinks  ==============="
 
-test_51() {
+test_51a() {	# was test_51
 	# bug 1516 - create an empty entry right after ".." then split dir
 	mkdir $DIR/d51
 	touch $DIR/d51/foo
@@ -2048,7 +2048,7 @@ test_51() {
 	echo
 	ls -l $DIR/d51 > /dev/null || error
 }
-run_test 51 "special situations: split htree with empty entry =="
+run_test 51a "special situations: split htree with empty entry =="
 
 export NUMTEST=70000
 test_51b() {
@@ -2266,7 +2266,7 @@ test_55() {
 }
 run_test 55 "check iopen_connect_dentry() ======================"
 
-test_56() {
+test_56a() {	# was test_56
         rm -rf $DIR/d56
         $SETSTRIPE -d $DIR
         mkdir $DIR/d56
@@ -2316,7 +2316,7 @@ test_56() {
                 error "lfs getstripe --obd wrong: should not show file on other obd"
         echo "lfs getstripe --obd passed."
 }
-run_test 56 "check lfs getstripe ===================================="
+run_test 56a "check lfs getstripe ===================================="
 
 NUMFILES=3
 NUMDIRS=3
@@ -2536,12 +2536,12 @@ test_59() {
 run_test 59 "verify cancellation of llog records async ========="
 
 TEST60_HEAD="test_60 run $RANDOM"
-test_60() {
+test_60a() {	# was test_60
         [ ! -f run-llog.sh ] && skip "missing subtest run-llog.sh" && return
 	log "$TEST60_HEAD - from kernel mode"
 	sh run-llog.sh
 }
-run_test 60 "llog sanity tests run from kernel module =========="
+run_test 60a "llog sanity tests run from kernel module =========="
 
 test_60b() { # bug 6411
 	dmesg > $DIR/$tfile
@@ -2610,10 +2610,10 @@ test_62() {
 }
 # This test is now irrelevant (as of bug 10718 inclusion), we no longer
 # match every page all of the time.
-#run_test 62 "verify obd_match failure doesn't LBUG (should -EIO)"
+run_test 62 "verify obd_match failure doesn't LBUG (should -EIO)"
 
 # bug 2319 - oig_wait() interrupted causes crash because of invalid waitq.
-test_63() {
+test_63a() {	# was test_63
 	MAX_DIRTY_MB=`lctl get_param -n osc.*.max_dirty_mb | head -n 1`
 	lctl set_param -n osc.*.max_dirty_mb 0
 	for i in `seq 10` ; do
@@ -2626,7 +2626,7 @@ test_63() {
 	lctl set_param -n osc.*.max_dirty_mb $MAX_DIRTY_MB
 	rm -f $DIR/f63 || true
 }
-run_test 63 "Verify oig_wait interruption does not crash ======="
+run_test 63a "Verify oig_wait interruption does not crash ======="
 
 # bug 2248 - async write errors didn't return to application on sync
 # bug 3677 - async write errors left page locked
@@ -2794,7 +2794,7 @@ test_66() {
 }
 run_test 66 "update inode blocks count on client ==============="
 
-test_67() { # bug 3285 - supplementary group fails on MDS, passes on client
+test_67a() { # was test_67 bug 3285 - supplementary group fails on MDS, passes on client
 	[ "$RUNAS_ID" = "$UID" ] && skip "RUNAS_ID = UID = $UID -- skipping" && return
 	check_kernel_version 35 || return 0
 	mkdir $DIR/$tdir
@@ -2808,7 +2808,7 @@ test_67() { # bug 3285 - supplementary group fails on MDS, passes on client
 	[ "$GROUP_UPCALL" != "NONE" -a $RC -ne 0 ] && \
 		error "upcall failed" || true
 }
-run_test 67 "supplementary group failure (should return error) ="
+run_test 67a "supplementary group failure (should return error) ="
 
 cleanup_67b() {
 	set +vx
diff --git a/lustre/tests/sanityN.sh b/lustre/tests/sanityN.sh
index 40cc00739e418d999b26d4281c6ef10c8fe9e036..afd4e48e81104752c71badd0e13a35986d49a2a5 100644
--- a/lustre/tests/sanityN.sh
+++ b/lustre/tests/sanityN.sh
@@ -3,8 +3,8 @@
 set -e
 
 ONLY=${ONLY:-"$*"}
-# bug number for skipped test:  3192 12652  9977
-ALWAYS_EXCEPT="                 14b  14c    28   $SANITYN_EXCEPT"
+# bug number for skipped test:  3192 12652  15528/3811 9977  15528/11549
+ALWAYS_EXCEPT="                 14b  14c    19         28    29           $SANITYN_EXCEPT"
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
 # bug number for skipped test:                                                    12652 12652
@@ -373,7 +373,7 @@ test_19() { # bug3811
 	done
 	rm $DIR1/f19b
 }
-#run_test 19 "test concurrent uncached read races ==============="
+run_test 19 "test concurrent uncached read races ==============="
 
 test_20() {
 	mkdir $DIR1/d20
@@ -564,7 +564,7 @@ test_29() { # bug 10999
 	wait
 }
 #bug 11549 - permanently turn test off in b1_5
-#run_test 29 "lock put race between glimpse and enqueue ========="
+run_test 29 "lock put race between glimpse and enqueue ========="
 
 test_30() { #bug #11110
     cp -f /bin/bash $DIR1/$tdir/bash