public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Tom Marek <tmarek@redhat.com>
To: xfs@oss.sgi.com
Cc: Lukas Czerner <lczerner@redhat.com>,
	Stefan Behrens <sbehrens@giantdisaster.de>,
	dchinner@redhat.com
Subject: Re: [PATCH 4/5] xfstests: sync before umount to avoid device busy problems
Date: Fri, 13 Apr 2012 13:15:50 +0200	[thread overview]
Message-ID: <4F880AE6.9080308@redhat.com> (raw)
In-Reply-To: <4F87FF3D.7030803@giantdisaster.de>

On 04/13/2012 12:26 PM, Stefan Behrens wrote:
> On 4/13/2012 11:49 AM, tmarek@redhat.com wrote:
>> 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
> If a xfstest process is still running when _scratch_umount() is called,
> that xfstest is wrong and needs to be fixed IMO.
> If a system or filesystem thread is still running and umount fails to
> handle it, the system or filesystem needs to be fixed IMO.
>
> xfstests shall uncover issues, not hide them.
>
> sync before umount should never be required.
The reason i added sync before umount is that at the end of a lot of 
tests the function
_umount_scratch is called. And sometimes there may be some delayed 
operations when the umount is called and it fails -> test fails which is 
not the problem of fs but only a matter of finishing everything.

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

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

  parent reply	other threads:[~2012-04-13 11:15 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 ` [PATCH 4/5] xfstests: sync before umount to avoid device busy problems tmarek
2012-04-13 10:26   ` 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 [this message]
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=4F880AE6.9080308@redhat.com \
    --to=tmarek@redhat.com \
    --cc=dchinner@redhat.com \
    --cc=lczerner@redhat.com \
    --cc=sbehrens@giantdisaster.de \
    --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