[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170601093245.29238-17-jack@suse.cz>
Date: Thu, 1 Jun 2017 11:32:26 +0200
From: Jan Kara <jack@...e.cz>
To: <linux-mm@...ck.org>
Cc: Hugh Dickins <hughd@...gle.com>,
David Howells <dhowells@...hat.com>,
linux-afs@...ts.infradead.org,
Ryusuke Konishi <konishi.ryusuke@....ntt.co.jp>,
linux-nilfs@...r.kernel.org, Bob Peterson <rpeterso@...hat.com>,
cluster-devel@...hat.com, Jaegeuk Kim <jaegeuk@...nel.org>,
linux-f2fs-devel@...ts.sourceforge.net, tytso@....edu,
linux-ext4@...r.kernel.org, Ilya Dryomov <idryomov@...il.com>,
"Yan, Zheng" <zyan@...hat.com>, ceph-devel@...r.kernel.org,
linux-btrfs@...r.kernel.org, David Sterba <dsterba@...e.com>,
"Darrick J . Wong" <darrick.wong@...cle.com>,
linux-xfs@...r.kernel.org,
Nadia Yvette Chambers <nyc@...omorphy.com>,
Jan Kara <jack@...e.cz>
Subject: [PATCH 16/35] ceph: Use pagevec_lookup_range_tag()
We want only pages from given range in ceph_writepages_start(). Use
pagevec_lookup_range_tag() instead of pagevec_lookup_tag() and remove
unnecessary code.
CC: Ilya Dryomov <idryomov@...il.com>
CC: "Yan, Zheng" <zyan@...hat.com>
CC: ceph-devel@...r.kernel.org
Signed-off-by: Jan Kara <jack@...e.cz>
---
fs/ceph/addr.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index 1e71e6ca5ddf..0b7e56ae3b8c 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -841,21 +841,16 @@ static int ceph_writepages_start(struct address_space *mapping,
struct page **pages = NULL, **data_pages;
mempool_t *pool = NULL; /* Becomes non-null if mempool used */
struct page *page;
- int want;
u64 offset = 0, len = 0;
max_pages = max_pages_ever;
get_more_pages:
first = -1;
- want = min(end - index,
- min((pgoff_t)PAGEVEC_SIZE,
- max_pages - (pgoff_t)locked_pages) - 1)
- + 1;
- pvec_pages = pagevec_lookup_tag(&pvec, mapping, &index,
- PAGECACHE_TAG_DIRTY,
- want);
- dout("pagevec_lookup_tag got %d\n", pvec_pages);
+ pvec_pages = pagevec_lookup_range_tag(&pvec, mapping, &index,
+ end, PAGECACHE_TAG_DIRTY,
+ PAGEVEC_SIZE);
+ dout("pagevec_lookup_range_tag got %d\n", pvec_pages);
if (!pvec_pages && !locked_pages)
break;
for (i = 0; i < pvec_pages && locked_pages < max_pages; i++) {
@@ -873,12 +868,6 @@ static int ceph_writepages_start(struct address_space *mapping,
unlock_page(page);
break;
}
- if (!wbc->range_cyclic && page->index > end) {
- dout("end of range %p\n", page);
- done = 1;
- unlock_page(page);
- break;
- }
if (strip_unit_end && (page->index > strip_unit_end)) {
dout("end of strip unit %p\n", page);
unlock_page(page);
--
2.12.3
Powered by blists - more mailing lists