* [PATCH] generic/442: add sync before dmsetup remove @ 2019-09-25 8:29 Su Yanjun 2019-09-25 13:08 ` Eryu Guan 0 siblings, 1 reply; 6+ messages in thread From: Su Yanjun @ 2019-09-25 8:29 UTC (permalink / raw) To: guaneryu; +Cc: fstests, suyj.fnst 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@cn.fujitsu.com> --- 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 # success, all done _dmerror_load_working_table +sync _dmerror_cleanup _scratch_mkfs > $seqres.full 2>&1 status=0 -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] generic/442: add sync before dmsetup remove 2019-09-25 8:29 [PATCH] generic/442: add sync before dmsetup remove Su Yanjun @ 2019-09-25 13:08 ` Eryu Guan 2019-09-26 3:05 ` Su Yanjun 0 siblings, 1 reply; 6+ messages in thread From: Eryu Guan @ 2019-09-25 13:08 UTC (permalink / raw) To: Su Yanjun; +Cc: fstests 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@cn.fujitsu.com> > --- > 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? Thanks, Eryu > _scratch_mkfs > $seqres.full 2>&1 > status=0 > -- > 2.7.4 > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] generic/442: add sync before dmsetup remove 2019-09-25 13:08 ` Eryu Guan @ 2019-09-26 3:05 ` Su Yanjun 2019-09-26 5:51 ` Eryu Guan 0 siblings, 1 reply; 6+ messages in thread From: Su Yanjun @ 2019-09-26 3:05 UTC (permalink / raw) To: Eryu Guan; +Cc: fstests 在 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@cn.fujitsu.com> >> --- >> 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? 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". > Thanks, > Eryu > >> _scratch_mkfs > $seqres.full 2>&1 >> status=0 >> -- >> 2.7.4 >> >> >> > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] generic/442: add sync before dmsetup remove 2019-09-26 3:05 ` Su Yanjun @ 2019-09-26 5:51 ` Eryu Guan 2019-09-27 1:40 ` Su Yanjun 0 siblings, 1 reply; 6+ messages in thread From: Eryu Guan @ 2019-09-26 5:51 UTC (permalink / raw) To: Su Yanjun; +Cc: fstests 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@cn.fujitsu.com> > > > --- > > > 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] generic/442: add sync before dmsetup remove 2019-09-26 5:51 ` Eryu Guan @ 2019-09-27 1:40 ` Su Yanjun 2019-09-27 1:40 ` Su Yanjun 0 siblings, 1 reply; 6+ messages in thread From: Su Yanjun @ 2019-09-27 1:40 UTC (permalink / raw) To: Eryu Guan; +Cc: fstests 在 2019/9/26 13:51, Eryu Guan 写道: > 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@cn.fujitsu.com> >>>> --- >>>> 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. Yes, ext4 can pass. Only in RHEL release it tests failed. Maybe "sync" is only a workaround for the the case, the root cause is unknown. It may need more time to analysis. Thanks > Thanks, > Eryu > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] generic/442: add sync before dmsetup remove 2019-09-27 1:40 ` Su Yanjun @ 2019-09-27 1:40 ` Su Yanjun 0 siblings, 0 replies; 6+ messages in thread From: Su Yanjun @ 2019-09-27 1:40 UTC (permalink / raw) To: Eryu Guan; +Cc: fstests 在 2019/9/26 13:51, Eryu Guan 写道: > 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@cn.fujitsu.com> >>>> --- >>>> 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. Yes, ext4 can pass. Only in RHEL release it tests failed. Maybe "sync" is only a workaround for the the case, the root cause is unknown. It may need more time to analysis. Thanks > Thanks, > Eryu > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-09-27 1:40 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-09-25 8:29 [PATCH] generic/442: add sync before dmsetup remove Su Yanjun 2019-09-25 13:08 ` Eryu Guan 2019-09-26 3:05 ` Su Yanjun 2019-09-26 5:51 ` Eryu Guan 2019-09-27 1:40 ` Su Yanjun 2019-09-27 1:40 ` Su Yanjun
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).