On Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote: > From: Hao Xu <howeyxu@xxxxxxxxxxx> > > Add a boolean parameter for file_accessed() to support nowait semantics. > Currently it is true only with io_uring as its initial caller. So why do we need to do this as part of this series? Apparently it hasn't caused any problems for filemap_read(). > +++ b/mm/filemap.c > @@ -2723,7 +2723,7 @@ ssize_t filemap_read(struct kiocb *iocb, struct iov_iter *iter, > folio_batch_init(&fbatch); > } while (iov_iter_count(iter) && iocb->ki_pos < isize && !error); > > - file_accessed(filp); > + file_accessed(filp, false); > > return already_read ? already_read : error; > } > @@ -2809,7 +2809,7 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) > retval = kiocb_write_and_wait(iocb, count); > if (retval < 0) > return retval; > - file_accessed(file); > + file_accessed(file, false); > > retval = mapping->a_ops->direct_IO(iocb, iter); > if (retval >= 0) { > @@ -2978,7 +2978,7 @@ ssize_t filemap_splice_read(struct file *in, loff_t *ppos, > > out: > folio_batch_release(&fbatch); > - file_accessed(in); > + file_accessed(in, false); > > return total_spliced ? total_spliced : error; > }