summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/segment.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nilfs2/segment.c')
-rw-r--r--fs/nilfs2/segment.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 70ded52dc1dd..f65392fecb5c 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -708,21 +708,17 @@ static size_t nilfs_lookup_dirty_data_buffers(struct inode *inode,
708 index = start >> PAGE_SHIFT; 708 index = start >> PAGE_SHIFT;
709 last = end >> PAGE_SHIFT; 709 last = end >> PAGE_SHIFT;
710 } 710 }
711 pagevec_init(&pvec, 0); 711 pagevec_init(&pvec);
712 repeat: 712 repeat:
713 if (unlikely(index > last) || 713 if (unlikely(index > last) ||
714 !pagevec_lookup_tag(&pvec, mapping, &index, PAGECACHE_TAG_DIRTY, 714 !pagevec_lookup_range_tag(&pvec, mapping, &index, last,
715 min_t(pgoff_t, last - index, 715 PAGECACHE_TAG_DIRTY))
716 PAGEVEC_SIZE - 1) + 1))
717 return ndirties; 716 return ndirties;
718 717
719 for (i = 0; i < pagevec_count(&pvec); i++) { 718 for (i = 0; i < pagevec_count(&pvec); i++) {
720 struct buffer_head *bh, *head; 719 struct buffer_head *bh, *head;
721 struct page *page = pvec.pages[i]; 720 struct page *page = pvec.pages[i];
722 721
723 if (unlikely(page->index > last))
724 break;
725
726 lock_page(page); 722 lock_page(page);
727 if (!page_has_buffers(page)) 723 if (!page_has_buffers(page))
728 create_empty_buffers(page, i_blocksize(inode), 0); 724 create_empty_buffers(page, i_blocksize(inode), 0);
@@ -757,10 +753,10 @@ static void nilfs_lookup_dirty_node_buffers(struct inode *inode,
757 unsigned int i; 753 unsigned int i;
758 pgoff_t index = 0; 754 pgoff_t index = 0;
759 755
760 pagevec_init(&pvec, 0); 756 pagevec_init(&pvec);
761 757
762 while (pagevec_lookup_tag(&pvec, mapping, &index, PAGECACHE_TAG_DIRTY, 758 while (pagevec_lookup_tag(&pvec, mapping, &index,
763 PAGEVEC_SIZE)) { 759 PAGECACHE_TAG_DIRTY)) {
764 for (i = 0; i < pagevec_count(&pvec); i++) { 760 for (i = 0; i < pagevec_count(&pvec); i++) {
765 bh = head = page_buffers(pvec.pages[i]); 761 bh = head = page_buffers(pvec.pages[i]);
766 do { 762 do {