# Re: \[PATCH 1/4\] vfs: Prepare for adding a new preadv/pwritev with user flags.

- From: Jeff Moyer \<hidden\>
- Date: 2014-10-24 15:12:29 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2014/10/89281
- Thread: https://ratatoskr.run/linux-fsdevel/2014/10/89281/t.md

```text
Milosz Tanski [ref] writes:

> Plumbing the flags argument through the vfs code so they can be passed down to
> __generic_file_(read/write)_iter function that do the acctual work.
                                                        ^^^^^^^
actual

> Signed-off-by: Milosz Tanski <redacted>

> diff --git a/fs/read_write.c b/fs/read_write.c
> index 7d9318c..9858c06 100644
> --- a/fs/read_write.c
> +++ b/fs/read_write.c
[...]
> @@ -1113,6 +1116,7 @@ COMPAT_SYSCALL_DEFINE5(preadv, compat_ulong_t, fd,
>  	return __compat_sys_preadv64(fd, vec, vlen, pos);
>  }
>  
> +
>  static size_t compat_writev(struct file *file,
>  			    const struct compat_iovec __user *vec,
>  			    unsigned long vlen, loff_t *pos)

Lose this hunk.


> diff --git a/mm/filemap.c b/mm/filemap.c
> index 14b4642..cb7f530 100644
> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -1465,7 +1465,7 @@ static void shrink_readahead_size_eio(struct file *filp,
>   * of the logic when it comes to error handling etc.
>   */
>  static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos,
> -		struct iov_iter *iter, ssize_t written)
> +		struct iov_iter *iter, ssize_t written, int flags)
>  {
>  	struct address_space *mapping = filp->f_mapping;
>  	struct inode *inode = mapping->host;

As Christoph mentioned, this belongs elsewhere.

Fix that up and you an add my:

Reviewed-by: Jeff Moyer <redacted>

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org.  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
```
