public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: tmarek@redhat.com
To: xfs@oss.sgi.com
Cc: Tom Marek <tmarek@redhat.com>, lczerner@redhat.com, dchinner@redhat.com
Subject: [PATCH 4/5] xfstests: sync before umount to avoid device busy problems
Date: Fri, 13 Apr 2012 11:49:45 +0200	[thread overview]
Message-ID: <1334310586-2281-4-git-send-email-tmarek@redhat.com> (raw)
In-Reply-To: <1334310586-2281-1-git-send-email-tmarek@redhat.com>

From: Tom Marek <tmarek@redhat.com>

Some tests might fail because of 'device or resource busy' when unmounting
either the SCRATCH or the TEST device. The reason this happenes is that
some processes might not have time to finish properly, or they are still
waiting for IO. The sync command was added before unmount into
_scratch_unmount() and umount_or_remount_ro which should help processes to
finish before unmounting takes place and thus it solves the problem.
This fixes for example tests 226 and 247.

Test 226 uses plain umount command which suffers from exactly the same problem
as described above. Use fixed _scratch_unmount() instead of plain umount fixes
this problem.

Signed-off-by: Tom Marek <tmarek@redhat.com>

Reviewed-by: Lukas Czerner <lczerner@redhat.com>
---
 226       |    4 ++--
 common.rc |    5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/226 b/226
index 6f28ac9..f8847c6 100755
--- a/226
+++ b/226
@@ -61,7 +61,7 @@ for I in `seq 1 $loops`; do
 done
 
 echo
-umount $SCRATCH_DEV
+_scratch_unmount
 _scratch_mount
 
 echo "--> $loops direct 64m writes in a loop"
@@ -73,7 +73,7 @@ for I in `seq 1 $loops`; do
 done
 
 echo
-umount $SCRATCH_DEV
+_scratch_unmount
 
 status=0
 exit
diff --git a/common.rc b/common.rc
index cab0b64..e56e5bc 100644
--- a/common.rc
+++ b/common.rc
@@ -255,6 +255,8 @@ _scratch_mount()
 
 _scratch_unmount()
 {
+    # Run sync to give processes some time to finish before unmount
+    sync
     $UMOUNT_PROG $SCRATCH_DEV
 }
 
@@ -1051,6 +1053,9 @@ _umount_or_remount_ro()
     device=$1
     mountpoint=`_is_mounted $device`
 
+    # Run sync to give processes some time to finish before unmount
+    sync
+
     if [ $USE_REMOUNT -eq 0 ]; then
         $UMOUNT_PROG $device
     else
-- 
1.7.7.6

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  parent reply	other threads:[~2012-04-13  9:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-13  9:49 [PATCH 1/5] xfstests 062: fix support for ext4 and SELinux tmarek
2012-04-13  9:49 ` [PATCH 2/5] xfstests 233: fix user fsgqa access to fsstress tmarek
2012-04-13  9:49 ` [PATCH 3/5] xfstests 198, 240: added check for aiodio-sparse2 tmarek
2012-04-13 11:49   ` Dave Chinner
2012-04-13  9:49 ` tmarek [this message]
2012-04-13 10:26   ` [PATCH 4/5] xfstests: sync before umount to avoid device busy problems Stefan Behrens
2012-04-13 10:57     ` Lukas Czerner
2012-04-13 11:58       ` Dave Chinner
2012-04-16  6:57         ` Lukas Czerner
2012-04-13 11:15     ` Tom Marek
2012-04-13  9:49 ` [PATCH 5/5] xfstests 273: fix of reading scratch size and removing lost+found tmarek
2012-04-16  2:46 ` [PATCH 1/5] xfstests 062: fix support for ext4 and SELinux Eric Sandeen
2012-04-16  2:56   ` Eric Sandeen
2012-04-16  7:03   ` Lukas Czerner
2012-04-16 14:06     ` Eric Sandeen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1334310586-2281-4-git-send-email-tmarek@redhat.com \
    --to=tmarek@redhat.com \
    --cc=dchinner@redhat.com \
    --cc=lczerner@redhat.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox