diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 5c1a3279e63f..337c6afb3345 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -2502,13 +2502,13 @@ void account_page_redirty(struct page *page) | |||
2502 | if (mapping && mapping_cap_account_dirty(mapping)) { | 2502 | if (mapping && mapping_cap_account_dirty(mapping)) { |
2503 | struct inode *inode = mapping->host; | 2503 | struct inode *inode = mapping->host; |
2504 | struct bdi_writeback *wb; | 2504 | struct bdi_writeback *wb; |
2505 | bool locked; | 2505 | struct wb_lock_cookie cookie = {}; |
2506 | 2506 | ||
2507 | wb = unlocked_inode_to_wb_begin(inode, &locked); | 2507 | wb = unlocked_inode_to_wb_begin(inode, &cookie); |
2508 | current->nr_dirtied--; | 2508 | current->nr_dirtied--; |
2509 | dec_node_page_state(page, NR_DIRTIED); | 2509 | dec_node_page_state(page, NR_DIRTIED); |
2510 | dec_wb_stat(wb, WB_DIRTIED); | 2510 | dec_wb_stat(wb, WB_DIRTIED); |
2511 | unlocked_inode_to_wb_end(inode, locked); | 2511 | unlocked_inode_to_wb_end(inode, &cookie); |
2512 | } | 2512 | } |
2513 | } | 2513 | } |
2514 | EXPORT_SYMBOL(account_page_redirty); | 2514 | EXPORT_SYMBOL(account_page_redirty); |
@@ -2614,15 +2614,15 @@ void __cancel_dirty_page(struct page *page) | |||
2614 | if (mapping_cap_account_dirty(mapping)) { | 2614 | if (mapping_cap_account_dirty(mapping)) { |
2615 | struct inode *inode = mapping->host; | 2615 | struct inode *inode = mapping->host; |
2616 | struct bdi_writeback *wb; | 2616 | struct bdi_writeback *wb; |
2617 | bool locked; | 2617 | struct wb_lock_cookie cookie = {}; |
2618 | 2618 | ||
2619 | lock_page_memcg(page); | 2619 | lock_page_memcg(page); |
2620 | wb = unlocked_inode_to_wb_begin(inode, &locked); | 2620 | wb = unlocked_inode_to_wb_begin(inode, &cookie); |
2621 | 2621 | ||
2622 | if (TestClearPageDirty(page)) | 2622 | if (TestClearPageDirty(page)) |
2623 | account_page_cleaned(page, mapping, wb); | 2623 | account_page_cleaned(page, mapping, wb); |
2624 | 2624 | ||
2625 | unlocked_inode_to_wb_end(inode, locked); | 2625 | unlocked_inode_to_wb_end(inode, &cookie); |
2626 | unlock_page_memcg(page); | 2626 | unlock_page_memcg(page); |
2627 | } else { | 2627 | } else { |
2628 | ClearPageDirty(page); | 2628 | ClearPageDirty(page); |
@@ -2654,7 +2654,7 @@ int clear_page_dirty_for_io(struct page *page) | |||
2654 | if (mapping && mapping_cap_account_dirty(mapping)) { | 2654 | if (mapping && mapping_cap_account_dirty(mapping)) { |
2655 | struct inode *inode = mapping->host; | 2655 | struct inode *inode = mapping->host; |
2656 | struct bdi_writeback *wb; | 2656 | struct bdi_writeback *wb; |
2657 | bool locked; | 2657 | struct wb_lock_cookie cookie = {}; |
2658 | 2658 | ||
2659 | /* | 2659 | /* |
2660 | * Yes, Virginia, this is indeed insane. | 2660 | * Yes, Virginia, this is indeed insane. |
@@ -2691,14 +2691,14 @@ int clear_page_dirty_for_io(struct page *page) | |||
2691 | * always locked coming in here, so we get the desired | 2691 | * always locked coming in here, so we get the desired |
2692 | * exclusion. | 2692 | * exclusion. |
2693 | */ | 2693 | */ |
2694 | wb = unlocked_inode_to_wb_begin(inode, &locked); | 2694 | wb = unlocked_inode_to_wb_begin(inode, &cookie); |
2695 | if (TestClearPageDirty(page)) { | 2695 | if (TestClearPageDirty(page)) { |
2696 | dec_lruvec_page_state(page, NR_FILE_DIRTY); | 2696 | dec_lruvec_page_state(page, NR_FILE_DIRTY); |
2697 | dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); | 2697 | dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); |
2698 | dec_wb_stat(wb, WB_RECLAIMABLE); | 2698 | dec_wb_stat(wb, WB_RECLAIMABLE); |
2699 | ret = 1; | 2699 | ret = 1; |
2700 | } | 2700 | } |
2701 | unlocked_inode_to_wb_end(inode, locked); | 2701 | unlocked_inode_to_wb_end(inode, &cookie); |
2702 | return ret; | 2702 | return ret; |
2703 | } | 2703 | } |
2704 | return TestClearPageDirty(page); | 2704 | return TestClearPageDirty(page); |