All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: viro@ZenIV.linux.org.uk
Cc: linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org
Subject: [PATCH 01/10] filemap: remove pos variables in generic_file_read_iter
Date: Thu,  7 Apr 2016 08:51:55 -0700	[thread overview]
Message-ID: <1460044324-5298-2-git-send-email-hch@lst.de> (raw)
In-Reply-To: <1460044324-5298-1-git-send-email-hch@lst.de>

Just use ki_pos directly to make everyones life easier.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 mm/filemap.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/mm/filemap.c b/mm/filemap.c
index f2479af..5885925 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1838,8 +1838,6 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 {
 	struct file *file = iocb->ki_filp;
 	ssize_t retval = 0;
-	loff_t *ppos = &iocb->ki_pos;
-	loff_t pos = *ppos;
 	size_t count = iov_iter_count(iter);
 
 	if (!count)
@@ -1851,15 +1849,16 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 		loff_t size;
 
 		size = i_size_read(inode);
-		retval = filemap_write_and_wait_range(mapping, pos,
-					pos + count - 1);
+		retval = filemap_write_and_wait_range(mapping, iocb->ki_pos,
+					iocb->ki_pos + count - 1);
 		if (!retval) {
 			struct iov_iter data = *iter;
-			retval = mapping->a_ops->direct_IO(iocb, &data, pos);
+			retval = mapping->a_ops->direct_IO(iocb, &data,
+					iocb->ki_pos);
 		}
 
 		if (retval > 0) {
-			*ppos = pos + retval;
+			iocb->ki_pos += retval;
 			iov_iter_advance(iter, retval);
 		}
 
@@ -1872,14 +1871,14 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 		 * the rest of the read.  Buffered reads will not work for
 		 * DAX files, so don't bother trying.
 		 */
-		if (retval < 0 || !iov_iter_count(iter) || *ppos >= size ||
+		if (retval < 0 || !iov_iter_count(iter) || iocb->ki_pos >= size ||
 		    IS_DAX(inode)) {
 			file_accessed(file);
 			goto out;
 		}
 	}
 
-	retval = do_generic_file_read(file, ppos, iter, retval);
+	retval = do_generic_file_read(file, &iocb->ki_pos, iter, retval);
 out:
 	return retval;
 }
-- 
2.1.4


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
To: viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org
Cc: linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 01/10] filemap: remove pos variables in generic_file_read_iter
Date: Thu,  7 Apr 2016 08:51:55 -0700	[thread overview]
Message-ID: <1460044324-5298-2-git-send-email-hch@lst.de> (raw)
In-Reply-To: <1460044324-5298-1-git-send-email-hch-jcswGhMUV9g@public.gmane.org>

Just use ki_pos directly to make everyones life easier.

Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
---
 mm/filemap.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/mm/filemap.c b/mm/filemap.c
index f2479af..5885925 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1838,8 +1838,6 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 {
 	struct file *file = iocb->ki_filp;
 	ssize_t retval = 0;
-	loff_t *ppos = &iocb->ki_pos;
-	loff_t pos = *ppos;
 	size_t count = iov_iter_count(iter);
 
 	if (!count)
@@ -1851,15 +1849,16 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 		loff_t size;
 
 		size = i_size_read(inode);
-		retval = filemap_write_and_wait_range(mapping, pos,
-					pos + count - 1);
+		retval = filemap_write_and_wait_range(mapping, iocb->ki_pos,
+					iocb->ki_pos + count - 1);
 		if (!retval) {
 			struct iov_iter data = *iter;
-			retval = mapping->a_ops->direct_IO(iocb, &data, pos);
+			retval = mapping->a_ops->direct_IO(iocb, &data,
+					iocb->ki_pos);
 		}
 
 		if (retval > 0) {
-			*ppos = pos + retval;
+			iocb->ki_pos += retval;
 			iov_iter_advance(iter, retval);
 		}
 
@@ -1872,14 +1871,14 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 		 * the rest of the read.  Buffered reads will not work for
 		 * DAX files, so don't bother trying.
 		 */
-		if (retval < 0 || !iov_iter_count(iter) || *ppos >= size ||
+		if (retval < 0 || !iov_iter_count(iter) || iocb->ki_pos >= size ||
 		    IS_DAX(inode)) {
 			file_accessed(file);
 			goto out;
 		}
 	}
 
-	retval = do_generic_file_read(file, ppos, iter, retval);
+	retval = do_generic_file_read(file, &iocb->ki_pos, iter, retval);
 out:
 	return retval;
 }
-- 
2.1.4

  reply	other threads:[~2016-04-07 15:52 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-07 15:51 add RWF_(D)SYNC flag to preadv2/pwritev2 V2 Christoph Hellwig
2016-04-07 15:51 ` Christoph Hellwig
2016-04-07 15:51 ` Christoph Hellwig [this message]
2016-04-07 15:51   ` [PATCH 01/10] filemap: remove pos variables in generic_file_read_iter Christoph Hellwig
2016-04-07 15:51 ` [PATCH 02/10] filemap: remove the pos argument to generic_file_direct_write Christoph Hellwig
2016-04-07 15:51   ` Christoph Hellwig
2016-04-07 15:51 ` [PATCH 03/10] xfs: eliminate the pos variable in xfs_file_dio_aio_write Christoph Hellwig
2016-04-07 22:31   ` Dave Chinner
2016-04-07 22:31     ` Dave Chinner
2016-04-07 22:43     ` Christoph Hellwig
2016-04-07 22:43       ` Christoph Hellwig
2016-04-07 22:50       ` Dave Chinner
2016-04-07 15:51 ` [PATCH 04/10] direct-io: eliminate the offset argument to ->direct_IO Christoph Hellwig
2016-04-07 15:51   ` Christoph Hellwig
2016-04-07 15:51 ` [PATCH 05/10] direct-io: remove the offset argument to dio_complete Christoph Hellwig
2016-04-07 15:51   ` Christoph Hellwig
2016-04-07 15:52 ` [PATCH 06/10] fs: add IOCB_SYNC and IOCB_DSYNC Christoph Hellwig
2016-04-07 15:52   ` Christoph Hellwig
2016-04-07 15:52 ` [PATCH 07/10] fs: simplify the generic_write_sync prototype Christoph Hellwig
2016-04-07 15:52   ` Christoph Hellwig
2016-04-07 15:52 ` [PATCH 08/10] ceph: use generic_write_sync Christoph Hellwig
2016-04-07 15:52 ` [PATCH 09/10] fs: add RWF_DSYNC aand RWF_SYNC Christoph Hellwig
2016-04-07 15:52   ` Christoph Hellwig
2016-08-06 21:45   ` Michael Kerrisk (man-pages)
2016-08-09  8:15     ` Christoph Hellwig
2016-09-04  4:56       ` Michael Kerrisk (man-pages)
2016-09-04  4:56         ` Michael Kerrisk (man-pages)
2016-04-07 15:52 ` [PATCH 10/10] nfsd: use RWF_SYNC Christoph Hellwig
2016-04-25 11:48 ` add RWF_(D)SYNC flag to preadv2/pwritev2 V2 Christoph Hellwig
2016-04-25 11:48   ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2016-03-29 17:37 add RWF_(D)SYNC flag to preadv2/pwritev2 Christoph Hellwig
2016-03-29 17:37 ` [PATCH 01/10] filemap: remove pos variables in generic_file_read_iter Christoph Hellwig
2016-03-29 17:37   ` 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=1460044324-5298-2-git-send-email-hch@lst.de \
    --to=hch@lst.de \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --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.