Whamcloud - gitweb
LU-2189 tests: ensure sync stability before sanityn/36
authorNathaniel Clark <nathaniel.l.clark@intel.com>
Thu, 14 Mar 2013 18:41:28 +0000 (14:41 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 1 Apr 2013 04:49:07 +0000 (00:49 -0400)
Encourage data to be fully sync'd before getting new measurements.

Test-Parameters: testlist=sanityn  mdtfilesystemtype=zfs mdsfilesystemtype=zfs ostfilesystemtype=zfs
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: I42be5714b59cd4c22c65d7524f2b71ec0a07dfa4
Reviewed-on: http://review.whamcloud.com/5722
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Li Wei <wei.g.li@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/sanityn.sh

index aaf9035..6c9a136 100644 (file)
@@ -1082,33 +1082,29 @@ test_36() { #bug 16417
        i=0
        SIZE=50
        let SIZE_B=SIZE*1024*1024
+       sync; sleep 5; sync # wait for delete thread
 
        while [ $i -le 10 ]; do
                lctl mark "start test"
-               local before=$($LFS df | awk '{ if ($1 ~/^filesystem/) \
-                                             { print $5; exit} }')
+               local before=$(lfs_df $MOUNT1 | awk '/^filesystem/{ print $4; exit }')
                dd if=/dev/zero of=$DIR1/$tdir/$tfile bs=1M count=$SIZE ||
                        error "dd $DIR1/$tdir/$tfile ${SIZE}MB failed"
                sync          # sync data from client cache
                sync_all_data # sync data from server cache (delayed allocation)
-               sleep 1
-               local after_dd=$($LFS df | awk '{ if ($1 ~/^filesystem/) \
-                                               { print $5; exit} }')
+               sleep 2
+               local after_dd=$(lfs_df $MOUNT1 | awk '/^filesystem/{ print $4; exit }')
                multiop_bg_pause $DIR2/$tdir/$tfile O_r${SIZE_B}c || return 3
                read_pid=$!
                rm -f $DIR1/$tdir/$tfile
                kill -USR1 $read_pid
                wait $read_pid
                wait_delete_completed
-               local after=$($LFS df | awk '{ if ($1 ~/^filesystem/) \
-                                            { print $5; exit} }')
+               local after=$(lfs_df $MOUNT1 | awk '/^filesystem/{ print $4; exit }')
                echo "*** cycle($i) *** before($before) after_dd($after_dd)" \
                        "after($after)"
                # this free space! not used
-               if [ $after_dd -ge $after ]; then
-                       error "space leaked"
-                       return 1;
-               fi
+               (( $after_dd <= $after)) ||
+                       error "space leaked after_dd:$after_dd > after:$after"
                let i=i+1
        done
 }