[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6386d512ce3fc_c9572944e@dwillia2-mobl3.amr.corp.intel.com.notmuch>
Date: Tue, 29 Nov 2022 19:59:14 -0800
From: Dan Williams <dan.j.williams@...el.com>
To: Shiyang Ruan <ruansy.fnst@...itsu.com>,
<linux-kernel@...r.kernel.org>, <linux-xfs@...r.kernel.org>,
<nvdimm@...ts.linux.dev>, <linux-fsdevel@...r.kernel.org>
CC: <djwong@...nel.org>, <david@...morbit.com>,
<dan.j.williams@...el.com>, <akpm@...ux-foundation.org>
Subject: RE: [PATCH 0/2] fsdax,xfs: fix warning messages
[ add Andrew ]
Shiyang Ruan wrote:
> Many testcases failed in dax+reflink mode with warning message in dmesg.
> This also effects dax+noreflink mode if we run the test after a
> dax+reflink test. So, the most urgent thing is solving the warning
> messages.
>
> Patch 1 fixes some mistakes and adds handling of CoW cases not
> previously considered (srcmap is HOLE or UNWRITTEN).
> Patch 2 adds the implementation of unshare for fsdax.
>
> With these fixes, most warning messages in dax_associate_entry() are
> gone. But honestly, generic/388 will randomly failed with the warning.
> The case shutdown the xfs when fsstress is running, and do it for many
> times. I think the reason is that dax pages in use are not able to be
> invalidated in time when fs is shutdown. The next time dax page to be
> associated, it still remains the mapping value set last time. I'll keep
> on solving it.
>
> The warning message in dax_writeback_one() can also be fixed because of
> the dax unshare.
Thank you for digging in on this, I had been pinned down on CXL tasks
and worried that we would need to mark FS_DAX broken for a cycle, so
this is timely.
My only concern is that these patches look to have significant collisions with
the fsdax page reference counting reworks pending in linux-next. Although,
those are still sitting in mm-unstable:
http://lore.kernel.org/r/20221108162059.2ee440d5244657c4f16bdca0@linux-foundation.org
My preference would be to move ahead with both in which case I can help
rebase these fixes on top. In that scenario everything would go through
Andrew.
However, if we are getting too late in the cycle for that path I think
these dax-fixes take precedence, and one more cycle to let the page
reference count reworks sit is ok.
> Shiyang Ruan (2):
> fsdax,xfs: fix warning messages at dax_[dis]associate_entry()
> fsdax,xfs: port unshare to fsdax
>
> fs/dax.c | 166 ++++++++++++++++++++++++++++++-------------
> fs/xfs/xfs_iomap.c | 6 +-
> fs/xfs/xfs_reflink.c | 8 ++-
> include/linux/dax.h | 2 +
> 4 files changed, 129 insertions(+), 53 deletions(-)
>
> --
> 2.38.1
Powered by blists - more mailing lists