On 6/21/18 6:21 AM, Christoph Hellwig wrote: > On Wed, Jun 20, 2018 at 04:28:54PM -0600, Jens Axboe wrote: >> The assumption has been true for a decade or more. The only problem with >> it is that we have this ->readpages() interface that is only used for >> readahead. Hence it should be ->readahead() or similar, that avoid the >> fragility argument. > > Or just stop this whole bike shed. ->readpages doesn't keep the pages > it reads locked, so it fundamentally is a readahead style operation. > > Now if we actually want do to anything with that information is another > question that I already asked in reply to the first round of these > patches. > > Especially as e.g. nvme actually sets hints based on the flag, that > if hardware actually ever looked at them might be doing the wrong > thing (fortunately for us I doubt any nvme hardware actually looks > at that flag). In most of these cases, these types of hints don't translate uniformly across devices. So whether we pass them on to the actual hardware or not is a different matter. For now, as mentioned, all I care about is getting the tracing working properly, and being able to functionally differentiate between a read and a read-ahead read in the block layer. -- Jens Axboe