From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: zlang@redhat.com, linux-xfs@vger.kernel.org,
fstests@vger.kernel.org, guan@eryu.me,
linux-block@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 1/3] xfs/178: don't fail when SCRATCH_DEV contains random xfs superblocks
Date: Wed, 11 Oct 2023 12:10:25 -0700 [thread overview]
Message-ID: <20231011191025.GX21298@frogsfrogsfrogs> (raw)
In-Reply-To: <ZST2zRvtMrU0KlkN@infradead.org>
On Tue, Oct 10, 2023 at 12:01:33AM -0700, Christoph Hellwig wrote:
> On Mon, Oct 09, 2023 at 11:18:33AM -0700, Darrick J. Wong wrote:
> > The storage advertises SCSI UNMAP support, but it is of the variety
> > where the UNMAP command returns immediately but takes its time to unmap
> > in the background. Subsequent rereads are allowed to return stale
> > contents, per DISCARD semantics.
> >
> > When the fstests cloud is not busy, the old contents disappear in a few
> > seconds. However, at peak utilization, there are ~75 VMs running, and
> > the storage backend can take several minutes to commit these background
> > requests.
>
> Umm, that is not valid behavior fo SCSI UNMAP or any other command
> that Linux discard maps to. All of them can do one of the two options
> on a per-block basis:
>
> - return the unmap pattern (usually but not always 0) for any read
> following the unmap/trim/discard
> - always return the previous pattern until it is overwritten or
> discarded again
>
> Changing the pattern some time after unmap is a grave bug, and we need
> to blacklist the device.
Ok, I'll go pester them about fixing that, if they haven't already.
Apparently discard support is somewhat new.
I'm pretty sure I've seen some NVME SSDs where you can issue devicewide
DISCARDs and slowly watch the namespace utilization go down over tens of
minutes; and reads will only eventually start returning zeroes.
(Note that *writes* during the slow-discard period are persisted
correctly.)
However, that's orthogonal to this patch -- if the device doesn't
support discard, _scratch_mkfs won't zero the entire disk to remove old
dead superblocks that might have been written by previous tests. After
we shatter the primary super, the xfs_repair scanning code can still
trip over those old supers and break the golden output.
--D
next prev parent reply other threads:[~2023-10-11 19:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-09 18:18 [PATCHSET 0/3] fstests: random fixes for v2023.10.08 Darrick J. Wong
2023-10-09 18:18 ` [PATCH 1/3] xfs/178: don't fail when SCRATCH_DEV contains random xfs superblocks Darrick J. Wong
2023-10-10 7:01 ` Christoph Hellwig
2023-10-11 19:10 ` Darrick J. Wong [this message]
2023-10-12 4:26 ` Christoph Hellwig
2023-10-12 5:03 ` Darrick J. Wong
2023-10-12 8:30 ` Christoph Hellwig
2023-10-12 15:09 ` [PATCH v2 " Darrick J. Wong
2023-10-12 15:10 ` Christoph Hellwig
2023-10-09 18:18 ` [PATCH 2/3] generic/465: only complain about stale disk contents when racing directio Darrick J. Wong
2023-10-10 7:03 ` Christoph Hellwig
2023-10-09 18:18 ` [PATCH 3/3] generic/269,xfs/051: don't drop fsstress failures to stdout Darrick J. Wong
2023-10-10 7:03 ` Christoph Hellwig
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=20231011191025.GX21298@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=guan@eryu.me \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=zlang@redhat.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