diff options
author | Qu Wenruo <wqu@suse.com> | 2021-01-26 09:33:46 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-02-08 22:59:01 +0100 |
commit | 62c053fbb2d1816def1d353d9abed4c2f1f0abe9 (patch) | |
tree | 55ba7950ddf6d54b0c69b1db71d2a6bcf8b69eaa /fs/btrfs/super.c | |
parent | btrfs: merge PAGE_CLEAR_DIRTY and PAGE_SET_WRITEBACK to PAGE_START_WRITEBACK (diff) | |
download | linux-62c053fbb2d1816def1d353d9abed4c2f1f0abe9.tar.xz linux-62c053fbb2d1816def1d353d9abed4c2f1f0abe9.zip |
btrfs: set UNMAPPED bit early in btrfs_clone_extent_buffer() for subpage support
For the incoming subpage support, UNMAPPED extent buffer will have
different behavior in btrfs_release_extent_buffer().
This means we need to set UNMAPPED bit early before calling
btrfs_release_extent_buffer().
Currently there is only one caller which relies on
btrfs_release_extent_buffer() in its error path while set UNMAPPED bit
late:
- btrfs_clone_extent_buffer()
Make it subpage compatible by setting the UNMAPPED bit early, since
we're here, also move the UPTODATE bit early.
There is another caller, __alloc_dummy_extent_buffer(), setting
UNMAPPED bit late, but that function clean up the allocated page
manually, thus no need for any modification.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/super.c')
0 files changed, 0 insertions, 0 deletions