Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32c7f202 authored by Wu Fengguang's avatar Wu Fengguang
Browse files

btrfs: fix dirtied pages accounting on sub-page writes



When doing 1KB sequential writes to the same page,
balance_dirty_pages_ratelimited_nr() should be called once instead of 4
times, the latter makes the dirtier tasks be throttled much too heavy.

Fix it with proper de-accounting on clear_page_dirty_for_io().

CC: Chris Mason <chris.mason@oracle.com>
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
parent 2f800fbd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1136,7 +1136,8 @@ again:
				     GFP_NOFS);
	}
	for (i = 0; i < num_pages; i++) {
		clear_page_dirty_for_io(pages[i]);
		if (clear_page_dirty_for_io(pages[i]))
			account_page_redirty(pages[i]);
		set_page_extent_mapped(pages[i]);
		WARN_ON(!PageLocked(pages[i]));
	}