Thread (24 messages) 24 messages, 4 authors, 2021-11-04

Re: [PATCH 0/3] dax: clear poison on the fly along pwrite

From: Dan Williams <hidden>
Date: 2021-09-17 19:38:05
Also in: linux-fsdevel, nvdimm

On Fri, Sep 17, 2021 at 5:57 AM Christoph Hellwig [off-list ref] wrote:
On Thu, Sep 16, 2021 at 11:40:28AM -0700, Dan Williams wrote:
quoted
quoted
That was my gut feeling.  If everyone feels 100% comfortable with
zeroingas the mechanism to clear poisoning I'll cave in.  The most
important bit is that we do that through a dedicated DAX path instead
of abusing the block layer even more.
...or just rename dax_zero_page_range() to dax_reset_page_range()?
Where reset == "zero + clear-poison"?
I'd say that naming is more confusing than overloading zero.
Ok, I see Darrick has a better suggestion for the shed color.
quoted
quoted
I'm really worried about both patartitions on DAX and DM passing through
DAX because they deeply bind DAX to the block layer, which is just a bad
idea.  I think we also need to sort that whole story out before removing
the EXPERIMENTAL tags.
I do think it was a mistake to allow for DAX on partitions of a pmemX
block-device.

DAX-reflink support may be the opportunity to start deprecating that
support. Only enable DAX-reflink for direct mounting on /dev/pmemX
without partitions (later add dax-device direct mounting),
I think we need to fully or almost fully sort this out.

Here is my bold suggestions:

 1) drop no drop the EXPERMINTAL on the current block layer overload
    at all
s/drop no drop/do not drop/?
 2) add direct mounting of the nvdimm namespaces ASAP.  Because all
    the filesystem currently also need the /dev/pmem0 device add a way
    to open the block device by the dax_device instead of our current
    way of doing the reverse
Oh, interesting. I can get on board with that. There's currently no
/dev entry for namespaces. It's either /dev/pmemX, or /dev/daxX.Y as a
child of /sys/bus/nd/devices/namespaceX.Y. However, I see nothing
glaringly wrong with having /dev/daxX.Y always published regardless of
whether /dev/pmemX is also present.
 3) deprecate DAX support through block layer mounts with a say 2 year
    deprecation period
 4) add DAX remapping devices as needed

I'll volunteer to write the initial code for 2).  And I think we should
not allow DAX+reflink on the block device shim at all.
Yeah, I think this can fly.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help