On 12/17/19 8:57 AM, Matthew Wilcox wrote: > On Tue, Dec 17, 2019 at 07:39:43AM -0700, Jens Axboe wrote: >> +static void buffered_put_page(struct page *page, bool clear_mapping) >> +{ >> + if (clear_mapping) >> + page->mapping = NULL; >> + put_page(page); >> +} > > I'm not a huge fan of the variable name 'clear_mapping'. It describes > what it does rather than why it does it. So maybe 'drop_immediate'? > Or 'uncached'? I do like 'uncached' a lot better, I've made that change. > I think this needs to be: > > if (!did_dio_begin) > inode_dio_begin(inode); > did_dio_begin = true; > > otherwise inode->i_dio_count is going to be increased once per uncached > page. Do you have a test in your test-suite that does I/O to more than > one page at a time? Good catch! Yes it does, I have fixed that up. Thanks. -- Jens Axboe