|
@@ -2165,8 +2165,7 @@ static int mpage_da_submit_io(struct mpage_da_data *mpd,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd,
|
|
|
- sector_t logical, long blk_cnt)
|
|
|
+static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd)
|
|
|
{
|
|
|
int nr_pages, i;
|
|
|
pgoff_t index, end;
|
|
@@ -2174,9 +2173,8 @@ static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd,
|
|
|
struct inode *inode = mpd->inode;
|
|
|
struct address_space *mapping = inode->i_mapping;
|
|
|
|
|
|
- index = logical >> (PAGE_CACHE_SHIFT - inode->i_blkbits);
|
|
|
- end = (logical + blk_cnt - 1) >>
|
|
|
- (PAGE_CACHE_SHIFT - inode->i_blkbits);
|
|
|
+ index = mpd->first_page;
|
|
|
+ end = mpd->next_page - 1;
|
|
|
while (index <= end) {
|
|
|
nr_pages = pagevec_lookup(&pvec, mapping, index, PAGEVEC_SIZE);
|
|
|
if (nr_pages == 0)
|
|
@@ -2312,8 +2310,7 @@ static void mpage_da_map_and_submit(struct mpage_da_data *mpd)
|
|
|
ext4_print_free_blocks(mpd->inode);
|
|
|
}
|
|
|
/* invalidate all the pages */
|
|
|
- ext4_da_block_invalidatepages(mpd, next,
|
|
|
- mpd->b_size >> mpd->inode->i_blkbits);
|
|
|
+ ext4_da_block_invalidatepages(mpd);
|
|
|
|
|
|
/* Mark this page range as having been completed */
|
|
|
mpd->io_done = 1;
|