Whamcloud - gitweb
LU-482 test-framework: Ensure dirty cache is flushed before barrier
authorOleg Drokin <green@whamcloud.com>
Sun, 6 Nov 2011 19:06:40 +0000 (14:06 -0500)
committerOleg Drokin <green@whamcloud.com>
Tue, 8 Nov 2011 16:33:07 +0000 (11:33 -0500)
With certain backend devices like LVM with older kernels the data
in dirty cache cannot be propagated all the way to the block device
with a single sync as there are multiple non-cooperating layers.

So convert such sync calls into triple syncs

Change-Id: If82e25223a277ec165d150b0f5f960ff845af9b0
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1656
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Lai Siyao <laisiyao@whamcloud.com>

index b26be11..78a5802 100644 (file)
@@ -1545,7 +1545,7 @@ obd_name() {
 replay_barrier() {
     local facet=$1
-    do_facet $facet sync
+    do_facet $facet "sync; sync; sync"
     df $MOUNT
     # make sure there will be no seq change
@@ -1561,7 +1561,7 @@ replay_barrier() {
 replay_barrier_nodf() {
     local facet=$1    echo running=${running}
-    do_facet $facet sync
+    do_facet $facet "sync; sync; sync"
     local svc=${facet}_svc
     echo Replay barrier on ${!svc}
     do_facet $facet $LCTL --device %${!svc} notransno