FS/XFS testing framework
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: Eryu Guan <eguan@redhat.com>
Cc: Dave Chinner <david@fromorbit.com>, fstests@vger.kernel.org
Subject: Re: [PATCH 6/9] generic: test I/O error path by fully filling dm snapshot
Date: Thu, 2 Apr 2015 07:11:45 -0400	[thread overview]
Message-ID: <20150402111145.GA3808@laptop.bfoster> (raw)
In-Reply-To: <20150402041041.GF16808@dhcp-13-216.nay.redhat.com>

On Thu, Apr 02, 2015 at 12:10:41PM +0800, Eryu Guan wrote:
> On Thu, Apr 02, 2015 at 09:29:54AM +1100, Dave Chinner wrote:
> > On Wed, Apr 01, 2015 at 01:57:10PM -0400, Brian Foster wrote:
> > > On Wed, Apr 01, 2015 at 09:54:15PM +0800, Eryu Guan wrote:
> > > > xfs used to panic in this test, this xfs commit fix the bug
> > > > 
> > > > 8d6c121 xfs: fix buffer use after free on IO error
> > > > 
> > > > ext4 and btrfs trigger WARNING on current 4.0-rc3 kernel
> > > > 
> > > > Signed-off-by: Eryu Guan <eguan@redhat.com>
> > > > ---
> > > > v2:
> > > > - add _require_dm_snapshot() function to require dm snapshot target
> > > > - make sure SCRATCH_DEV has enough space for the test
> > > > - fail the test directly when failures detected in setup phase
> > > > 
> > > 
> > > FYI, the mail subject header hasn't changed so Dave might not notice
> > > this is a new patch.
> > 
> > Saw it.
> > 
> > > > +_mount /dev/mapper/$vgname-$snapname $mnt
> > > > +
> > > > +# write 5M data to the snapshot
> > > > +$XFS_IO_PROG -fc "pwrite 0 5m" $mnt/testfile >>$seqres.full 2>&1
> > > > +
> > > 
> > > I noticed there were no errors in $seqres.full when running this test.
> > > E.g., the pwrite succeeds because nothing is written back to disk at
> > > that point. The fs does shutdown due to the flush on umount, but it's
> > > kind of hidden away up in the _cleanup() function.
> > > 
> > > Kind of a nit, but we could be a bit more explicit and do a '-c fsync'
> > > after the pwrite here? That way it's clear that writeback to disk is
> > > part of the core test and we have a little feedback in $seqres.full that
> > > I/O errors occurred, as expected.
> > 
> > Added the -c fsync as I pulled it in.
> 
> I was thinking about adding fsync or sync at first, but it causes
> problems in cleanup. For some reason(I don't know clearly) fsync
> sometimes pins the snapshot in use and vgremove can't remove all lvs, so
> SCRATCH_DEV is still used by the test vg when running next test
> 
> our local _scratch_mkfs routine ...                                                                                                                                              
> mkfs.xfs: cannot open /dev/sda6: Device or resource busy                                                                                         
> check: failed to mkfs $SCRATCH_DEV using specified options
> 
> From 081.full I can see
> 
> Logical volume vg_081/snap_081 contains a filesystem in use.
> 
> The test vg/lv has to be removed manually after the test
> 
> vgremove -f vg_081
> 
> I don't find a proper way to fix it yet, but simply adding 'sleep 1'
> before vgremove in _cleanup works for me
> 

Hmm, I haven't seen that one. Seems fine for me as a temporary
workaround though. Perhaps include it with the udev-settle thing that
Dave needs on the creation side of things..?

Brian

> [root@hp-dl388eg8-01 xfstests]# git diff
> diff --git a/tests/generic/081 b/tests/generic/081
> index 3e17d34..29b0240 100755
> --- a/tests/generic/081
> +++ b/tests/generic/081
> @@ -36,6 +36,7 @@ _cleanup()
>         rm -f $tmp.*
>         # lvm may have umounted it on I/O error, but in case it does not
>         $UMOUNT_PROG $mnt >/dev/null 2>&1
> +       sleep 1
>         $LVM_PROG vgremove -f $vgname >>$seqres.full 2>&1
>         $LVM_PROG pvremove -f $SCRATCH_DEV >>$seqres.full 2>&1
>  }
> 
> Thanks,
> Eryu

  reply	other threads:[~2015-04-02 11:11 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-20 10:16 [PATCH 0/9] some backlog patches and new test and fixes Eryu Guan
2015-03-20 10:16 ` [PATCH 1/9 RESEND] generic: test some mount/umount corner cases Eryu Guan
2015-03-25 19:32   ` Brian Foster
2015-03-20 10:16 ` [PATCH 2/9 RESEND] generic: test quota handling on remount ro failure Eryu Guan
2015-03-25 19:32   ` Brian Foster
2015-04-01  6:06     ` Eryu Guan
2015-04-01 14:13       ` Brian Foster
2015-03-20 10:16 ` [PATCH 3/9 RESEND] generic: test hardlink to unlinked file Eryu Guan
2015-03-25 19:32   ` Brian Foster
2015-03-27 10:10     ` Eryu Guan
2015-04-01 13:48   ` [PATCH v2 3/9] " Eryu Guan
2015-04-01 17:54     ` Brian Foster
2015-04-02  2:59       ` Eryu Guan
2015-04-02 11:17         ` Brian Foster
2015-03-20 10:16 ` [PATCH 4/9 RESEND] shared: test truncate orphan inodes when mounting extN Eryu Guan
2015-03-20 10:16 ` [PATCH 5/9 RESEND] generic: test fs freeze/unfreeze and mount/umount race Eryu Guan
2015-03-25 19:44   ` Brian Foster
2015-03-27  8:46     ` Eryu Guan
2015-03-27 12:10       ` Brian Foster
2015-03-27 13:38         ` Eryu Guan
2015-04-01 13:53   ` [PATCH v2 5/9] " Eryu Guan
2015-04-01 17:56     ` Brian Foster
2015-04-02 12:15       ` Eryu Guan
2015-03-20 10:16 ` [PATCH 6/9] generic: test I/O error path by fully filling dm snapshot Eryu Guan
2015-03-25 23:08   ` Brian Foster
2015-03-27  7:38     ` Eryu Guan
2015-03-27 12:10       ` Brian Foster
2015-04-01 13:54   ` Eryu Guan
2015-04-01 17:57     ` Brian Foster
2015-04-01 22:29       ` Dave Chinner
2015-04-02  4:10         ` Eryu Guan
2015-04-02 11:11           ` Brian Foster [this message]
2015-04-07  1:36             ` Dave Chinner
2015-04-01 22:41     ` Dave Chinner
2015-04-02 12:08       ` Eryu Guan
2015-03-20 10:16 ` [PATCH 7/9] common: recognise NFS export over IPv6 in _require_scratch_nocheck() Eryu Guan
2015-03-25 23:08   ` Brian Foster
2015-03-20 10:16 ` [PATCH 8/9] xfs/014: replace df with $DF_PROG Eryu Guan
2015-03-25 23:08   ` Brian Foster
2015-03-20 10:16 ` [PATCH 9/9] generic/077: add missing _require_scratch Eryu Guan
2015-03-25 23:08   ` Brian Foster

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=20150402111145.GA3808@laptop.bfoster \
    --to=bfoster@redhat.com \
    --cc=david@fromorbit.com \
    --cc=eguan@redhat.com \
    --cc=fstests@vger.kernel.org \
    /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