On Tue, Jan 7, 2020 at 4:52 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Mon, Dec 16, 2019 at 01:10:14PM -0500, Vivek Goyal wrote: > > > Agree. In retrospect it was my laziness in the dax-device > > > implementation to expect the block-device to be available. > > > > > > It looks like fs_dax_get_by_bdev() is an intercept point where a > > > dax_device could be dynamically created to represent the subset range > > > indicated by the block-device partition. That would open up more > > > cleanup opportunities. > > > > Hi Dan, > > > > After a long time I got time to look at it again. Want to work on this > > cleanup so that I can make progress with virtiofs DAX paches. > > > > I am not sure I understand the requirements fully. I see that right now > > dax_device is created per device and all block partitions refer to it. If > > we want to create one dax_device per partition, then it looks like this > > will be structured more along the lines how block layer handles disk and > > partitions. (One gendisk for disk and block_devices for partitions, > > including partition 0). That probably means state belong to whole device > > will be in common structure say dax_device_common, and per partition state > > will be in dax_device and dax_device can carry a pointer to > > dax_device_common. > > > > I am also not sure what does it mean to partition dax devices. How will > > partitions be exported to user space. > > Dan, last time we talked you agreed that partitioned dax devices are > rather pointless IIRC. Should we just deprecate partitions on DAX > devices and then remove them after a cycle or two? That does seem a better plan than trying to force partition support where it is not needed.