Re: [PATCH 0/2] fsdax,xfs: fix warning messages

Shiyang Ruan
2022-11-28T02:16:42Z

在 2022/11/28 2:38, Darrick J. Wong 写道:
> On Thu, Nov 24, 2022 at 02:54:52PM +0000, 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.
>
> This cuts down the amount of test failures quite a bit, but I think
> you're still missing a piece or two -- namely the part that refuses to
> enable S_DAX mode on a reflinked file when the inode is being loaded
> from disk. However, thank you for fixing dax.c, because that was the
> part I couldn't figure out at all. :)

I didn't include it[1] in this patchset...

[1]
https://lore.kernel.org/linux-xfs/1663234002-17-1-git-send-email-ruansy.fnst@fujitsu.com/

--
Thanks,
Ruan.

>
> --D
>
>>
>> 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
>>