On Thu, Oct 17, 2024 at 05:23:37PM +0200, Christoph Hellwig wrote: > If you want to do useful stream separation you need to write data > sequentially into the stream. Now with streams or FDP that does not > actually imply sequentially in LBA space, but if you want the file > system to not actually deal with fragmentation from hell, and be > easily track what is grouped together you really want it sequentially > in the LBA space as well. In other words, any kind of write placement > needs to be intimately tied to the file system block allocator. I'm replying just to make sure I understand what you're saying: If we send per IO hints on a file, we could have interleaved hot and cold pages at various offsets of that file, so the filesystem needs an efficient way to allocate extents and track these so that it doesn't interleave these in LBA space. I think that makes sense. We can add a fop_flags and block/fops.c can be the first one to turn it on since that LBA access is entirely user driven.