On Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote:
> From: Hao Xu <howe...@tencent.com>
> 
> 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;
>  }

Reply via email to