Messages in this thread | | | Date | Fri, 19 Nov 2010 09:54:24 -0500 | From | Christoph Hellwig <> | Subject | Re: [PATCH 1/2] fs: Do not dispatch FITRIM through separate super_operation |
| |
On Fri, Nov 19, 2010 at 09:48:12AM -0500, Mark Lord wrote: > I'm not sure about the issues on "adapting the block layer" ? > For FITRIM, the blocks being trimmed would be reserved at the fs level, > before issuing the discard for them. So ordering through the block layer > shouldn't matter much for it. Does that simplify things? > > I see FITRIM just allocating a page to hold the ranges (for the >1 case) > and passing that page down through the layers to libata (or any other > LLD that supports >1 ranges).
Ordering should not be an issue. What were problems when I tried this before is that we currently assume in the block layer that discard bios have a valid bi_sector/bi_size, which is already needed e.g. for the trivial remapping use for partitions and that they don't have a payload. You'd need to teach various places that discard payloads may have a payload, which contains multiple ranges that have a sector/len tuple that needs to be remapped and checked in various places.
| |