Message ID | 20170927160334.29513-10-jack@suse.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2017/09/28 1:03, Jan Kara wrote: > We want only pages from given range in > nilfs_lookup_dirty_data_buffers(). Use pagevec_lookup_range_tag() > instead of pagevec_lookup_tag() and remove unnecessary code. > > CC: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> > CC: linux-nilfs@vger.kernel.org > Signed-off-by: Jan Kara <jack@suse.cz> > --- > fs/nilfs2/segment.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) Nice patch. Thanks. Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> > > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c > index 70ded52dc1dd..68e5769cef3b 100644 > --- a/fs/nilfs2/segment.c > +++ b/fs/nilfs2/segment.c > @@ -711,18 +711,14 @@ static size_t nilfs_lookup_dirty_data_buffers(struct inode *inode, > pagevec_init(&pvec, 0); > repeat: > if (unlikely(index > last) || > - !pagevec_lookup_tag(&pvec, mapping, &index, PAGECACHE_TAG_DIRTY, > - min_t(pgoff_t, last - index, > - PAGEVEC_SIZE - 1) + 1)) > + !pagevec_lookup_range_tag(&pvec, mapping, &index, last, > + PAGECACHE_TAG_DIRTY, PAGEVEC_SIZE)) > return ndirties; > > for (i = 0; i < pagevec_count(&pvec); i++) { > struct buffer_head *bh, *head; > struct page *page = pvec.pages[i]; > > - if (unlikely(page->index > last)) > - break; > - > lock_page(page); > if (!page_has_buffers(page)) > create_empty_buffers(page, i_blocksize(inode), 0); >
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 70ded52dc1dd..68e5769cef3b 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -711,18 +711,14 @@ static size_t nilfs_lookup_dirty_data_buffers(struct inode *inode, pagevec_init(&pvec, 0); repeat: if (unlikely(index > last) || - !pagevec_lookup_tag(&pvec, mapping, &index, PAGECACHE_TAG_DIRTY, - min_t(pgoff_t, last - index, - PAGEVEC_SIZE - 1) + 1)) + !pagevec_lookup_range_tag(&pvec, mapping, &index, last, + PAGECACHE_TAG_DIRTY, PAGEVEC_SIZE)) return ndirties; for (i = 0; i < pagevec_count(&pvec); i++) { struct buffer_head *bh, *head; struct page *page = pvec.pages[i]; - if (unlikely(page->index > last)) - break; - lock_page(page); if (!page_has_buffers(page)) create_empty_buffers(page, i_blocksize(inode), 0);
We want only pages from given range in nilfs_lookup_dirty_data_buffers(). Use pagevec_lookup_range_tag() instead of pagevec_lookup_tag() and remove unnecessary code. CC: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> CC: linux-nilfs@vger.kernel.org Signed-off-by: Jan Kara <jack@suse.cz> --- fs/nilfs2/segment.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)