[09/15] nilfs2: Use pagevec_lookup_range_tag()
diff mbox

Message ID 20170927160334.29513-10-jack@suse.cz
State New
Headers show

Commit Message

Jan Kara Sept. 27, 2017, 4:03 p.m. UTC
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(-)

Comments

Ryusuke Konishi Sept. 28, 2017, 1:40 a.m. UTC | #1
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);
>

Patch
diff mbox

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);