btrfs-progs/kernel-shared
Naohiro Aota bfd34b7876 btrfs-progs: zoned: redirty clean extent buffers
Tree manipulating operations like merging nodes often release
once-allocated tree nodes. Btrfs cleans such nodes so that pages in the
node are not uselessly written out. On ZONED drives, however, such
optimization blocks the following IOs as the cancellation of the write
out of the freed blocks breaks the sequential write sequence expected by
the device.

Check if next dirty extent buffer is continuous to a previously written
one. If not, it redirty extent buffers between the previous one and the
next one, so that all dirty buffers are written sequentially.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-05-06 16:41:45 +02:00
..
backref.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
backref.h btrfs-progs: move extent_io.c to kernel-shared/ 2020-08-31 17:01:04 +02:00
ctree.c btrfs-progs: fix null pointer deref in balance_level 2021-04-19 18:58:26 +02:00
ctree.h btrfs-progs: zoned: redirty clean extent buffers 2021-05-06 16:41:45 +02:00
delayed-ref.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
delayed-ref.h btrfs-progs: move delayed-ref.[ch] to kernel-shared/ 2020-03-31 18:37:34 +02:00
dir-item.c btrfs-progs: make btrfs_lookup_dir_index in parity with kernel code 2020-08-31 17:09:49 +02:00
disk-io.c btrfs-progs: zoned: implement log-structured superblock 2021-05-06 16:41:45 +02:00
disk-io.h btrfs-progs: pass in fs_info to btrfs_csum_data 2021-03-24 22:20:19 +01:00
extent_io.c btrfs-progs: move volumes.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
extent_io.h btrfs-progs: move extent_io.c to kernel-shared/ 2020-08-31 17:01:04 +02:00
extent-tree.c btrfs-progs: zoned: implement sequential extent allocation 2021-05-06 16:41:45 +02:00
file-item.c btrfs-progs: pass in fs_info to btrfs_csum_data 2021-03-24 22:20:19 +01:00
file.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
free-space-cache.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
free-space-cache.h btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00
free-space-tree.c btrfs-progs: mkfs: support free space tree as -R option 2020-09-08 22:06:04 +02:00
free-space-tree.h btrfs-progs: rename btrfs_block_group_cache to btrfs_block_group 2020-05-11 20:50:00 +02:00
inode-item.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
inode.c btrfs-progs: make btrfs_lookup_dir_index in parity with kernel code 2020-08-31 17:09:49 +02:00
print-tree.c btrfs-progs: zoned: add new ZONED feature flag 2021-05-06 16:41:45 +02:00
print-tree.h btrfs-progs: move print-tree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00
root-tree.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
transaction.c btrfs-progs: zoned: redirty clean extent buffers 2021-05-06 16:41:45 +02:00
transaction.h btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
ulist.c btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00
ulist.h btrfs-progs: build: drop kernel-lib from -I and update paths 2019-07-03 20:49:04 +02:00
uuid-tree.c btrfs-progs: move transaction.c to kernel-shared/ 2020-08-31 17:01:06 +02:00
volumes.c btrfs-progs: zoned: implement zoned chunk allocator 2021-05-06 16:41:45 +02:00
volumes.h btrfs-progs: zoned: implement zoned chunk allocator 2021-05-06 16:41:45 +02:00
zoned.c btrfs-progs: zoned: redirty clean extent buffers 2021-05-06 16:41:45 +02:00
zoned.h btrfs-progs: zoned: redirty clean extent buffers 2021-05-06 16:41:45 +02:00