Messages in this thread | | | Date | Tue, 17 Sep 2019 10:39:09 -0600 | From | Keith Busch <> | Subject | Re: [PATCH 0/2] nvme: Add kernel API for admin command |
| |
On Mon, Sep 16, 2019 at 12:13:24PM +0000, Baldyga, Robert wrote: > Ok, fair enough. We want to keep things hidden behind certain layers, > and that's definitely a good thing. But there is a problem with these > layers - they do not expose all the features. For example AFAIK there > is no clear way to use 512+8 format via block layer (nor even a way > to get know that bdev is formatted to particular lbaf). It's impossible > to use it without layering violations, which nobody sees as a perfect > solution, but it is the only one that works.
I think your quickest path to supporting such a format is to consider each part separately, then bounce and interleave/unmix the data + metadata at another layer that understands how the data needs to be laid out in host memory. Something like this RFC here:
http://lists.infradead.org/pipermail/linux-nvme/2018-February/015844.html
It appears connecting to infradead lists is a bit flaky at the moment, so not sure if you'll be able to read the above link right now.
Anyway, the RFC would have needed a bit of work to be considered, like using a mempool for the purpose, but it does generically make such formats usable through the block stack so maybe try flushing out that idea.
| |