Re: [PATCH] xfs: fail dax mount if reflink is enabled on a partition

From: Gotou, Yasunori/五島 康文
Date: Tue Oct 04 2022 - 00:13:23 EST

On 2022/10/03 17:12, Darrick J. Wong wrote:
On Fri, Sep 30, 2022 at 09:56:41AM +0900, Gotou, Yasunori/五島 康文 wrote:
Hello everyone,

On 2022/09/20 11:38, Yang, Xiao/杨 晓 wrote:
Hi Darrick, Brian and Christoph

Ping. I hope to get your feedback.

1) I have confirmed that the following patch set did not change the test
result of generic/470 with thin-volume. Besides, I didn't see any
failure when running generic/470 based on normal PMEM device instaed of

2) I can reproduce the failure of generic/482 without thin-volume.

3) Is it necessary to make thin-volume support DAX. Is there any use
case for the requirement?

Though I asked other place(*), I really want to know the usecase of
dm-thin-volume with DAX and reflink.

In my understanding, dm-thin-volume seems to provide similar feature like
reflink of xfs. Both feature provide COW update to reduce usage of
its region, and snapshot feature, right?

I found that docker seems to select one of them (or other feature which
supports COW). Then user don't need to use thin-volume and reflink at same

Database which uses FS-DAX may want to use snapshot for its data of FS-DAX,
its user seems to be satisfied with reflink or thin-volume.

So I could not find on what use-case user would like to use dm-thin-volume
and reflink at same time.

The only possibility is that the user has mistakenly configured dm-thinpool
and reflink to be used at the same time, but if that is the case, it seems
to be better for the user to disable one or the other.

I really wander why dm-thin-volume must be used with reflik and FS-DAX.

There isn't a hard requirement between fsdax and dm-thinp. The /test/
needs dm-logwrites to check that write page faults on a MAP_SYNC
mmapping are persisted directly to disk. dm-logwrites requires a fast
way to zero an entire device for correct operation of the replay step,
and thinp is the only way to guarantee that.

Thank you for your answer. But I still feel something is strange.
Though dm-thinp may be good way to execute the test correctly,
I suppose it seems to be likely a kind of workaround to pass the test,
it may not be really required for actual users.

Could you tell me why passing test by workaround is so necessary?



If my understanding is something wrong, please correct me.