Re: [PATCH] generic/442: add sync before dmsetup remove

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Thu, Sep 26, 2019 at 11:05:13AM +0800, Su Yanjun wrote:
> 
> 在 2019/9/25 21:08, Eryu Guan 写道:
> > On Wed, Sep 25, 2019 at 04:29:18PM +0800, Su Yanjun wrote:
> > > This test case sometime fails. Because "dmsetup remove error-test" may
> > > fail when some writeback is going on.
> > > 
> > > This patch adds sync before dmsetup remove operation.
> > > 
> > > Signed-off-by: Su Yanjun <suyj.fnst@xxxxxxxxxxxxxx>
> > > ---
> > >   tests/generic/442 | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/tests/generic/442 b/tests/generic/442
> > > index fe6d460..d48ca36 100755
> > > --- a/tests/generic/442
> > > +++ b/tests/generic/442
> > > @@ -43,6 +43,7 @@ $here/src/fsync-err -d $here/src/dmerror $DMERROR_DEV
> > fsync-err should have flipped $DMERROR_DEV to working mode and fsync
> > each open fd before exit if fsync-err didn't report any failure. So
> > there should be no on-going writeback.
> > >   # success, all done
> > >   _dmerror_load_working_table
> > > +sync
> > >   _dmerror_cleanup
> > And _dmerror_cleanup umount $DMERROR_DEV first, then tear down the dm
> > device. Could you check if fsync-err returns successfully and umount
> > succeeds as well?
> 
> I cant find any mount info for $DMERROR_DEV in this test. fsync-err  just
> does write or sync test with the raw logical dm device.
> 
> Am i missing something?

Ah, sorry, I missed that the test uses raw block device..

> 
> mkfs.xfs: cannot open /dev/sda11: Device or resource busy
> device-mapper: remove ioctl on error-test  failed: Device or resource busy
> Command failed.
> _check_xfs_filesystem: filesystem on /dev/sda11 has dirty log
> *** xfs_logprint -t output ***
> xfs_logprint: logprint.c:230: main: Assertion `x.logBBsize <= 0x7fffffff'
> failed.
> *** end xfs_logprint output
> 
> From above log, dmsetup remove failed with "Device or resource busy".

I can't reproduce above failure with v5.3 kernel, neither xfs nor ext4.
Does ext4 pass in your setup? I suspect it's a kernel bug that still
holds the block device.

Thanks,
Eryu



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux