From: Zorro Lang <zlang@redhat.com>
To: fstests@vger.kernel.org
Subject: Re: [PATCH v2] generic/648: dmerror must be unmounted
Date: Tue, 9 Nov 2021 12:09:13 +0800 [thread overview]
Message-ID: <20211109040913.kq6icdhwdf5mfs7n@fedora> (raw)
In-Reply-To: <20211024120512.2383377-1-zlang@redhat.com>
On Sun, Oct 24, 2021 at 08:05:12PM +0800, Zorro Lang wrote:
> Sometimes g/648 fail to unmount dmerror with this error:
>
> umount: /mnt/xfstests/scratch: target is busy.
>
> Even worse, it will cause all later test cases fail as:
>
> mount: bad usage
> Try 'mount --help' for more information.
> check: failed to mount $SCRATCH_DEV using specified options
> Interrupted!
>
> So we shouldn't _fail directly if dmerror_unmount fails, use a while
> loop to try to unmount it enough times.
>
> Signed-off-by: Zorro Lang <zlang@redhat.com>
> ---
Ping, it's been 2+ weeks passed, any more review points about this?
Thanks,
Zorro
>
> As Darrick's review point, V2 brings the "iteration XXX scratch
> unmount failed" _fail back.
>
> Thanks,
> Zorro
>
> tests/generic/648 | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/tests/generic/648 b/tests/generic/648
> index 83dd111d..e5c743c5 100755
> --- a/tests/generic/648
> +++ b/tests/generic/648
> @@ -104,7 +104,7 @@ for i in $(seq 1 $((25 * TIME_FACTOR)) ); do
> wait > /dev/null 2>&1
> ps -e | grep fsstress > /dev/null 2>&1
> done
> - for ((i = 0; i < 10; i++)); do
> + for ((j = 0; j < 10; j++)); do
> test -e "$snap_aliveflag" || break
> sleep 1
> done
> @@ -112,7 +112,21 @@ for i in $(seq 1 $((25 * TIME_FACTOR)) ); do
> # Mount again to replay log after loading working table, so we have a
> # consistent fs after test.
> $UMOUNT_PROG $loopmnt
> - _dmerror_unmount || _fail "iteration $i scratch unmount failed"
> + is_unmounted=1
> + # We must unmount dmerror at here, or whole later testing will crash.
> + # So try to umount enough times, before we have no choice.
> + for ((j = 0; j < 100; j++)); do
> + sleep 1
> + _dmerror_unmount > $tmp.unmount.err 2>&1
> + if [ $? -eq 0 ];then
> + is_unmounted=0
> + break
> + fi
> + done
> + if [ $is_unmounted -ne 0 ];then
> + cat $tmp.unmount.err
> + _fail "iteration $i scratch unmount failed"
> + fi
> _dmerror_load_working_table
> if ! _dmerror_mount; then
> _metadump_dev $DMERROR_DEV $seqres.scratch.$i.md
> --
> 2.31.1
>
next prev parent reply other threads:[~2021-11-09 3:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-24 12:05 [PATCH v2] generic/648: dmerror must be unmounted Zorro Lang
2021-11-09 3:59 ` xuyang2018.jy
2021-11-09 4:09 ` Zorro Lang [this message]
2021-11-14 10:44 ` Eryu Guan
2021-11-09 17:26 ` Darrick J. Wong
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=20211109040913.kq6icdhwdf5mfs7n@fedora \
--to=zlang@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