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
thin-volume.
https://lore.kernel.org/linux-xfs/20211129102203.2243509-1-hch@xxxxxx/

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
time.

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?

Thanks,



--D

If my understanding is something wrong, please correct me.

(*)https://lore.kernel.org/all/TYWPR01MB1008258F474CA2295B4CD3D9B90549@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/