]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: make alloc_extent_buffer() check subpage dirty bitmap
authorQu Wenruo <wqu@suse.com>
Thu, 25 Mar 2021 07:14:41 +0000 (15:14 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Apr 2021 15:25:18 +0000 (17:25 +0200)
commite536c4a9a9d7033cb695772cdd1b8aea299cf6ba
tree0f7da228fa00dbcdb490964f65c09e6c0d9b8978
parent6012b94d627ae8f7213033d236433e261505a9ef
btrfs: make alloc_extent_buffer() check subpage dirty bitmap

In alloc_extent_buffer(), we make sure that the newly allocated page is
never dirty.

This is fine for sector size == PAGE_SIZE case, but for subpage it's
possible that one extent buffer in the page is dirty, thus the whole
page is marked dirty, and could cause false alert.

To support subpage, call btrfs_page_test_dirty() to handle both cases.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c