From: Brian Foster <bfoster@redhat.com>
To: Shiyang Ruan <ruansy.fnst@fujitsu.com>
Cc: "Darrick J. Wong" <djwong@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
"nvdimm@lists.linux.dev" <nvdimm@lists.linux.dev>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"david@fromorbit.com" <david@fromorbit.com>,
"hch@infradead.org" <hch@infradead.org>,
"Yang, Xiao/杨 晓" <yangx.jy@fujitsu.com>
Subject: Re: [PATCH] xfs: fail dax mount if reflink is enabled on a partition
Date: Fri, 9 Sep 2022 09:01:25 -0400 [thread overview]
Message-ID: <Yxs5Jb7Yt2c6R6eW@bfoster> (raw)
In-Reply-To: <dd363bd8-2dbd-5d9c-0406-380b60c5f510@fujitsu.com>
On Thu, Sep 08, 2022 at 09:46:04PM +0800, Shiyang Ruan wrote:
>
>
> 在 2022/8/4 8:51, Darrick J. Wong 写道:
> > On Wed, Aug 03, 2022 at 06:47:24AM +0000, ruansy.fnst@fujitsu.com wrote:
>
> ...
>
> > > > > > >
> > > > > > > BTW, since these patches (dax&reflink&rmap + THIS + pmem-unbind) are
> > > > > > > waiting to be merged, is it time to think about "removing the
> > > > > > > experimental tag" again? :)
> > > > > >
> > > > > > It's probably time to take up that question again.
> > > > > >
> > > > > > Yesterday I tried running generic/470 (aka the MAP_SYNC test) and it
> > > > > > didn't succeed because it sets up dmlogwrites atop dmthinp atop pmem,
> > > > > > and at least one of those dm layers no longer allows fsdax pass-through,
> > > > > > so XFS silently turned mount -o dax into -o dax=never. :(
> > > > >
> > > > > Hi Darrick,
> > > > >
> > > > > I tried generic/470 but it didn't run:
> > > > > [not run] Cannot use thin-pool devices on DAX capable block devices.
> > > > >
> > > > > Did you modify the _require_dm_target() in common/rc? I added thin-pool
> > > > > to not to check dax capability:
> > > > >
> > > > > case $target in
> > > > > stripe|linear|log-writes|thin-pool) # add thin-pool here
> > > > > ;;
> > > > >
> > > > > then the case finally ran and it silently turned off dax as you said.
> > > > >
> > > > > Are the steps for reproduction correct? If so, I will continue to
> > > > > investigate this problem.
> > > >
> > > > Ah, yes, I did add thin-pool to that case statement. Sorry I forgot to
> > > > mention that. I suspect that the removal of dm support for pmem is
> > > > going to force us to completely redesign this test. I can't really
> > > > think of how, though, since there's no good way that I know of to gain a
> > > > point-in-time snapshot of a pmem device.
> > >
> > > Hi Darrick,
> > >
> > > > removal of dm support for pmem
> > > I think here we are saying about xfstest who removed the support, not
> > > kernel?
> > >
> > > I found some xfstests commits:
> > > fc7b3903894a6213c765d64df91847f4460336a2 # common/rc: add the restriction.
> > > fc5870da485aec0f9196a0f2bed32f73f6b2c664 # generic/470: use thin-pool
> > >
> > > So, this case was never able to run since the second commit? (I didn't
> > > notice the not run case. I thought it was expected to be not run.)
> > >
> > > And according to the first commit, the restriction was added because
> > > some of dm devices don't support dax. So my understanding is: we should
> > > redesign the case to make the it work, and firstly, we should add dax
> > > support for dm devices in kernel.
> >
> > dm devices used to have fsdax support; I think Christoph is actively
> > removing (or already has removed) all that support.
> >
> > > In addition, is there any other testcase has the same problem? so that
> > > we can deal with them together.
> >
> > The last I checked, there aren't any that require MAP_SYNC or pmem aside
> > from g/470 and the three poison notification tests that you sent a few
> > days ago.
> >
> > --D
> >
>
> Hi Darrick, Brian
>
> I made a little investigation on generic/470.
>
> This case was able to run before introducing thin-pool[1], but since that,
> it became 'Failed'/'Not Run' because thin-pool does not support DAX. I have
> checked the log of thin-pool, it never supports DAX. And, it's not someone
> has removed the fsdax support. So, I think it's not correct to bypass the
> requirement conditions by adding 'thin-pool' to _require_dm_target().
>
> As far as I known, to prevent out-of-order replay of dm-log-write, thin-pool
> was introduced (to provide discard zeroing). Should we solve the
> 'out-of-order replay' issue instead of avoiding it by thin-pool? @Brian
>
Yes.. I don't recall all the internals of the tools and test, but IIRC
it relied on discard to perform zeroing between checkpoints or some such
and avoid spurious failures. The purpose of running on dm-thin was
merely to provide reliable discard zeroing behavior on the target device
and thus to allow the test to run reliably.
Brian
> Besides, since it's not a fsdax problem, I think there is nothing need to be
> fixed in fsdax. I'd like to help it solved, but I'm still wondering if we
> could back to the original topic("Remove Experimental Tag") firstly? :)
>
>
> [1] fc5870da485aec0f9196a0f2bed32f73f6b2c664 generic/470: use thin volume
> for dmlogwrites target device
>
>
> --
> Thanks,
> Ruan.
>
>
next prev parent reply other threads:[~2022-09-09 13:01 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-09 14:34 [PATCH] xfs: fail dax mount if reflink is enabled on a partition Shiyang Ruan
2022-06-10 5:46 ` Christoph Hellwig
2022-07-01 0:31 ` Darrick J. Wong
2022-07-01 5:14 ` Shiyang Ruan
2022-07-21 12:43 ` ruansy.fnst
2022-07-21 14:06 ` ruansy.fnst
2022-07-21 16:16 ` Darrick J. Wong
2022-07-29 3:55 ` ruansy.fnst
2022-07-29 4:54 ` Darrick J. Wong
2022-08-03 6:47 ` ruansy.fnst
2022-08-04 0:51 ` Darrick J. Wong
2022-08-04 1:36 ` Shiyang Ruan
2022-09-08 13:46 ` Shiyang Ruan
2022-09-09 13:01 ` Brian Foster [this message]
2022-09-14 6:44 ` Yang, Xiao/杨 晓
2022-09-14 9:38 ` Yang, Xiao/杨 晓
2022-09-14 12:34 ` Brian Foster
2022-09-14 16:28 ` Darrick J. Wong
2022-09-15 10:14 ` Yang, Xiao/杨 晓
2022-09-16 2:04 ` Yang, Xiao/杨 晓
2022-09-20 2:38 ` Yang, Xiao/杨 晓
2022-09-30 0:56 ` Gotou, Yasunori/五島 康文
2022-10-04 0:12 ` Darrick J. Wong
2022-10-04 4:12 ` Gotou, Yasunori/五島 康文
2022-10-04 18:26 ` Darrick J. Wong
2022-10-20 14:17 ` Yang, Xiao/杨 晓
2022-10-22 2:11 ` Darrick J. Wong
[not found] ` <09f522cd-e846-12ee-d662-14f34a2977c4@fujitsu.com>
2022-10-23 7:04 ` yangx.jy
2022-10-23 22:00 ` Dave Chinner
2022-10-24 3:17 ` ruansy.fnst
2022-10-24 4:05 ` Darrick J. Wong
2022-10-24 5:31 ` Dave Chinner
2022-10-25 14:26 ` ruansy.fnst
2022-10-25 17:56 ` Darrick J. Wong
2022-10-27 21:08 ` Darrick J. Wong
2022-10-28 1:37 ` Dan Williams
2022-10-30 9:31 ` Shiyang Ruan
2022-11-02 0:45 ` Darrick J. Wong
2022-11-02 5:17 ` ruansy.fnst
2022-11-03 2:32 ` Dave Chinner
2022-10-24 17:12 ` Dan Williams
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=Yxs5Jb7Yt2c6R6eW@bfoster \
--to=bfoster@redhat.com \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
--cc=ruansy.fnst@fujitsu.com \
--cc=yangx.jy@fujitsu.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