]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: defrag: introduce helper to defrag a contiguous prepared range
authorQu Wenruo <wqu@suse.com>
Fri, 6 Aug 2021 08:12:37 +0000 (16:12 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:07:13 +0000 (19:07 +0200)
commitbb11ead69ba07bcc464fc2f2ee59c449112d4d0e
tree7b1649ba233ef0dec6c9a590a77659f4faed198a
parent274f05225e34502a45cbe7cff332b05d6091b4b7
btrfs: defrag: introduce helper to defrag a contiguous prepared range

A new helper, defrag_one_locked_target(), introduced to do the real part
of defrag.

The caller needs to ensure both page and extents bits are locked, and no
ordered extent exists for the range, and all writeback is finished.

The core defrag part is pretty straight-forward:

- Reserve space
- Set extent bits to defrag
- Update involved pages to be dirty

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/ioctl.c