On 9/5/22 23:36, Christoph Hellwig wrote: > On Tue, Aug 30, 2022 at 09:18:36PM -0700, John Hubbard wrote: >> The conversion is temporarily guarded by >> CONFIG_BLK_USE_PIN_USER_PAGES_FOR_DIO. In the future (not part of this >> series), when we are certain that all filesystems have converted their >> Direct IO paths to FOLL_PIN, then we can do the final step, which is to >> get rid of CONFIG_BLK_USE_PIN_USER_PAGES_FOR_DIO and search-and-replace >> the dio_w_*() functions with their final names (see bvec.h changes). > > What is the the point of these wrappers? We should be able to > convert one caller at a time in an entirely safe way. I would be delighted if that were somehow possible. Every time I think it's possible, it has fallen apart. The fact that bio_release_pages() will need to switch over from put_page() to unpin_user_page(), combined with the fact that there are a lot of callers that submit bios, has led me to the current approach. What did you have in mind? thanks, -- John Hubbard NVIDIA