Whamcloud - gitweb
b=3983
[fs/lustre-release.git] / lustre / tests / sanity-lmv.sh
index ccf4fb4..4799a4b 100644 (file)
@@ -39,6 +39,7 @@ SOCKETSERVER=${SOCKETSERVER:-socketserver}
 SOCKETCLIENT=${SOCKETCLIENT:-socketclient}
 IOPENTEST1=${IOPENTEST1:-iopentest1}
 IOPENTEST2=${IOPENTEST2:-iopentest2}
+PTLDEBUG=${PTLDEBUG:-0}
 
 if [ $UID -ne 0 ]; then
        RUNAS_ID="$UID"
@@ -95,7 +96,7 @@ run_one() {
        if ! mount | grep -q $DIR; then
                $START
        fi
-       echo -1 >/proc/sys/portals/debug        
+       echo $PTLDEBUG >/proc/sys/portals/debug 
        log "== test $1: $2"
        export TESTNAME=test_$1
        test_$1 || error "test_$1: exit with rc=$?"
@@ -247,19 +248,23 @@ test_1c() {
        touch $DIR/1b1/file1
        touch $DIR/1b1/file2
 
-       echo "3 files left"
+       ls $DIR/1b1/
+       log "3 files left"
        rmdir $DIR/1b1 && error
        rm -f $DIR/1b1/file0
 
-       echo "2 files left"
+       ls $DIR/1b1/
+       log "2 files left"
        rmdir $DIR/1b1 && error
        rm -f $DIR/1b1/file1
 
-       echo "1 files left"
+       ls $DIR/1b1/
+       log "1 files left"
        rmdir $DIR/1b1 && error
        rm -f $DIR/1b1/file2
 
-       echo "0 files left"
+       ls $DIR/1b1/
+       log "0 files left"
        rmdir $DIR/1b1 || error
 }
 run_test 1c " remove splitted cross-node dir ============================="
@@ -288,6 +293,54 @@ test_2b() {
 }
 run_test 2b " list splitted dir after remount ============================="
 
+test_3a() {
+       mkdir $DIR/3a0 || error
+       for i in `seq 100`; do
+               mkdir $DIR/3a0/d${i} || error
+       done
+       createmany -o $DIR/3a0/f 5000 || error
+       rm -rf $DIR/3a0 || error
+}
+run_test 3a " dir splitting with cross-ref ============================="
+
+test_3b() {
+       mkdir $DIR/3b1 || error
+       createmany -m $DIR/3b1/f 5000 || error
+       rm -rf $DIR/3b1 || error
+}
+run_test 3b " dir splitting via createmany -m ============================="
+
+test_3c() {
+       mkdir $DIR/3c1 || error
+       echo "MDS nodes: $MDSCOUNT"
+       for j in `seq 3`; do
+               for i in `seq 10`; do
+                       $LFS dirstripe $DIR/3c1/d-${j}-${i} $j || error
+                       createmany -m $DIR/3c1/d-${j}-${i}/m 200 || error
+                       createmany -o $DIR/3c1/d-${j}-${i}/o 200 || error
+               done
+       done
+       rm -rf $DIR/3c1 || error
+}
+
+run_test 3c " dir splitting via lfs stripe ============================="
+
+test_4a() {
+       let rr=0
+       while let "rr < 33000"; do
+               if let "rr % 2000 == 0"; then
+                       echo "$rr"
+               fi
+               mkdir $DIR/4a1 || error
+               rm -rf $DIR/4a1
+               let "rr = rr + 1"
+       done
+}
+
+## this test is very time-consuming, don't run it by default
+#run_test 4a " FIDS/ nlink overflow test  ============================="
+
+
 TMPDIR=$OLDTMPDIR
 TMP=$OLDTMP
 HOME=$OLDHOME