diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 11ff8f758631..999792d35ccc 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -2176,8 +2176,8 @@ int write_cache_pages(struct address_space *mapping, | |||
2176 | cycled = 0; | 2176 | cycled = 0; |
2177 | end = -1; | 2177 | end = -1; |
2178 | } else { | 2178 | } else { |
2179 | index = wbc->range_start >> PAGE_CACHE_SHIFT; | 2179 | index = wbc->range_start >> PAGE_SHIFT; |
2180 | end = wbc->range_end >> PAGE_CACHE_SHIFT; | 2180 | end = wbc->range_end >> PAGE_SHIFT; |
2181 | if (wbc->range_start == 0 && wbc->range_end == LLONG_MAX) | 2181 | if (wbc->range_start == 0 && wbc->range_end == LLONG_MAX) |
2182 | range_whole = 1; | 2182 | range_whole = 1; |
2183 | cycled = 1; /* ignore range_cyclic tests */ | 2183 | cycled = 1; /* ignore range_cyclic tests */ |
@@ -2382,14 +2382,14 @@ int write_one_page(struct page *page, int wait) | |||
2382 | wait_on_page_writeback(page); | 2382 | wait_on_page_writeback(page); |
2383 | 2383 | ||
2384 | if (clear_page_dirty_for_io(page)) { | 2384 | if (clear_page_dirty_for_io(page)) { |
2385 | page_cache_get(page); | 2385 | get_page(page); |
2386 | ret = mapping->a_ops->writepage(page, &wbc); | 2386 | ret = mapping->a_ops->writepage(page, &wbc); |
2387 | if (ret == 0 && wait) { | 2387 | if (ret == 0 && wait) { |
2388 | wait_on_page_writeback(page); | 2388 | wait_on_page_writeback(page); |
2389 | if (PageError(page)) | 2389 | if (PageError(page)) |
2390 | ret = -EIO; | 2390 | ret = -EIO; |
2391 | } | 2391 | } |
2392 | page_cache_release(page); | 2392 | put_page(page); |
2393 | } else { | 2393 | } else { |
2394 | unlock_page(page); | 2394 | unlock_page(page); |
2395 | } | 2395 | } |
@@ -2431,7 +2431,7 @@ void account_page_dirtied(struct page *page, struct address_space *mapping) | |||
2431 | __inc_zone_page_state(page, NR_DIRTIED); | 2431 | __inc_zone_page_state(page, NR_DIRTIED); |
2432 | __inc_wb_stat(wb, WB_RECLAIMABLE); | 2432 | __inc_wb_stat(wb, WB_RECLAIMABLE); |
2433 | __inc_wb_stat(wb, WB_DIRTIED); | 2433 | __inc_wb_stat(wb, WB_DIRTIED); |
2434 | task_io_account_write(PAGE_CACHE_SIZE); | 2434 | task_io_account_write(PAGE_SIZE); |
2435 | current->nr_dirtied++; | 2435 | current->nr_dirtied++; |
2436 | this_cpu_inc(bdp_ratelimits); | 2436 | this_cpu_inc(bdp_ratelimits); |
2437 | } | 2437 | } |
@@ -2450,7 +2450,7 @@ void account_page_cleaned(struct page *page, struct address_space *mapping, | |||
2450 | mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY); | 2450 | mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY); |
2451 | dec_zone_page_state(page, NR_FILE_DIRTY); | 2451 | dec_zone_page_state(page, NR_FILE_DIRTY); |
2452 | dec_wb_stat(wb, WB_RECLAIMABLE); | 2452 | dec_wb_stat(wb, WB_RECLAIMABLE); |
2453 | task_io_account_cancelled_write(PAGE_CACHE_SIZE); | 2453 | task_io_account_cancelled_write(PAGE_SIZE); |
2454 | } | 2454 | } |
2455 | } | 2455 | } |
2456 | 2456 | ||