All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: viro@zeniv.linux.org.uk
Cc: arve@android.com, riandrews@android.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 01/16] ashmem: switch to ->read_iter
Date: Wed, 30 Aug 2017 16:59:52 +0200	[thread overview]
Message-ID: <20170830150007.3953-2-hch@lst.de> (raw)
In-Reply-To: <20170830150007.3953-1-hch@lst.de>

And use the proper VFS helper for using the backing file.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/staging/android/ashmem.c | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index 6ba270e0494d..b3ebbb71fd3e 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -294,19 +294,9 @@ static int ashmem_release(struct inode *ignored, struct file *file)
 	return 0;
 }
 
-/**
- * ashmem_read() - Reads a set of bytes from an Ashmem-enabled file
- * @file:	   The associated backing file.
- * @buf:	   The buffer of data being written to
- * @len:	   The number of bytes being read
- * @pos:	   The position of the first byte to read.
- *
- * Return: 0 if successful, or another return code if not.
- */
-static ssize_t ashmem_read(struct file *file, char __user *buf,
-			   size_t len, loff_t *pos)
+static ssize_t ashmem_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 {
-	struct ashmem_area *asma = file->private_data;
+	struct ashmem_area *asma = iocb->ki_filp->private_data;
 	int ret = 0;
 
 	mutex_lock(&ashmem_mutex);
@@ -328,10 +318,9 @@ static ssize_t ashmem_read(struct file *file, char __user *buf,
 	 * be destroyed until all references to the file are dropped and
 	 * ashmem_release is called.
 	 */
-	ret = __vfs_read(asma->file, buf, len, pos);
-	if (ret >= 0)
-		/** Update backing file pos, since f_ops->read() doesn't */
-		asma->file->f_pos = *pos;
+	ret = vfs_iter_read(asma->file, iter, &iocb->ki_pos, 0);
+	if (ret > 0)
+		asma->file->f_pos = iocb->ki_pos;
 	return ret;
 
 out_unlock:
@@ -834,7 +823,7 @@ static const struct file_operations ashmem_fops = {
 	.owner = THIS_MODULE,
 	.open = ashmem_open,
 	.release = ashmem_release,
-	.read = ashmem_read,
+	.read_iter = ashmem_read_iter,
 	.llseek = ashmem_llseek,
 	.mmap = ashmem_mmap,
 	.unlocked_ioctl = ashmem_ioctl,
-- 
2.11.0

  reply	other threads:[~2017-08-30 15:00 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 14:59 switch in-kernel read/write calls to kernel_read/write Christoph Hellwig
2017-08-30 14:59 ` Christoph Hellwig [this message]
2017-08-30 15:28   ` [PATCH 01/16] ashmem: switch to ->read_iter Al Viro
2017-09-01 10:20     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 02/16] autofs4: switch autofs4_write to __kernel_write Christoph Hellwig
2017-08-30 15:30   ` Al Viro
2017-09-01 10:22     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 03/16] fs: move kernel_write to fs/read_write.c Christoph Hellwig
2017-08-30 14:59 ` [PATCH 04/16] fs: move kernel_read " Christoph Hellwig
2017-08-30 14:59 ` [PATCH 05/16] fs: fix kernel_read prototype Christoph Hellwig
2017-08-30 15:37   ` Al Viro
2017-09-01 10:37     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 06/16] fs: fix kernel_write prototype Christoph Hellwig
2017-08-30 15:39   ` Al Viro
2017-09-01 10:40     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 07/16] serial2002: switch serial2002_tty_write to kernel_{read/write} Christoph Hellwig
2017-08-30 14:59 ` [PATCH 08/16] mm/nommu: switch do_mmap_private to kernel_read Christoph Hellwig
2017-08-30 15:41   ` Al Viro
2017-09-01 10:41     ` Christoph Hellwig
2017-08-30 15:00 ` [PATCH 09/16] net/9p: switch p9_fd_read to kernel_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 10/16] btrfs: switch write_buf " Christoph Hellwig
2017-08-30 15:35   ` Nikolay Borisov
2017-08-30 15:00 ` [PATCH 11/16] mconsole: switch to kernel_read Christoph Hellwig
2017-08-30 15:00 ` [PATCH 12/16] gadget/f_mass_storage: stop messing with the address limit Christoph Hellwig
2017-08-30 15:00 ` [PATCH 13/16] lustre: switch to kernel_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 14/16] fs: unexport __vfs_read/__vfs_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 15/16] fs: unexport vfs_read and vfs_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 16/16] fs: unexport vfs_readv and vfs_writev Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170830150007.3953-2-hch@lst.de \
    --to=hch@lst.de \
    --cc=arve@android.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riandrews@android.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.