linux/fs/btrfs
Christoph Hellwig b51e6b4bda btrfs: don't use btrfs_bio_ctrl for extent buffer writing
The btrfs_bio_ctrl machinery is overkill for writing extent_buffers
as we always operate on PAGE_SIZE chunks (or one smaller one for the
subpage case) that are contiguous and are guaranteed to fit into a
single bio.  Replace it with open coded btrfs_bio_alloc, __bio_add_page
and btrfs_submit_bio calls.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-06-19 13:59:28 +02:00
..
tests btrfs: replace map_lookup->stripe_len by BTRFS_STRIPE_LEN 2023-04-17 18:01:14 +02:00
accessors.c btrfs: add eb to btrfs_node_key_ptr_offset 2022-12-05 18:00:58 +01:00
accessors.h btrfs: add stack helpers for a few btrfs items 2022-12-05 18:00:58 +01:00
acl.c fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
async-thread.c
async-thread.h
backref.c btrfs: fix backref walking not returning all inode refs 2023-05-09 22:09:11 +02:00
backref.h btrfs: fix backref walking not returning all inode refs 2023-05-09 22:09:11 +02:00
bio.c btrfs: remove hipri_workers workqueue 2023-06-19 13:59:23 +02:00
bio.h btrfs: introduce a new helper to submit write bio for repair 2023-04-17 18:01:23 +02:00
block-group.c btrfs: scrub: try harder to mark RAID56 block groups read-only 2023-05-17 11:59:46 +02:00
block-group.h btrfs: scrub: remove the old scrub recheck code 2023-04-17 18:01:24 +02:00
block-rsv.c btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c 2023-06-19 13:59:24 +02:00
block-rsv.h btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c 2023-06-19 13:59:24 +02:00
btrfs_inode.h btrfs: move split_flags/combine_flags helpers to inode-item.h 2023-06-19 13:59:25 +02:00
check-integrity.c btrfs: use SECTOR_SHIFT to convert physical offset to LBA 2023-06-19 13:59:23 +02:00
check-integrity.h
compression.c btrfs: remove the mirror_num argument to btrfs_submit_compressed_read 2023-06-19 13:59:27 +02:00
compression.h btrfs: remove the mirror_num argument to btrfs_submit_compressed_read 2023-06-19 13:59:27 +02:00
ctree.c btrfs: rename del_ptr to btrfs_del_ptr and export it 2023-06-19 13:59:25 +02:00
ctree.h btrfs: rename del_ptr to btrfs_del_ptr and export it 2023-06-19 13:59:25 +02:00
defrag.c btrfs: remove the wait argument to btrfs_start_ordered_extent 2023-02-13 17:50:34 +01:00
defrag.h
delalloc-space.c btrfs: count extents before taking inode's spinlock when reserving metadata 2023-04-17 18:01:19 +02:00
delalloc-space.h
delayed-inode.c btrfs: handle btrfs_del_item errors in __btrfs_update_delayed_inode 2023-03-06 19:28:19 +01:00
delayed-inode.h
delayed-ref.c btrfs: add helper to calculate space for delayed references 2023-04-17 18:01:19 +02:00
delayed-ref.h btrfs: add helper to calculate space for delayed references 2023-04-17 18:01:19 +02:00
dev-replace.c
dev-replace.h
dir-item.c
dir-item.h
discard.c btrfs: unexport btrfs_run_discard_work and make it static 2023-06-19 13:59:25 +02:00
discard.h btrfs: unexport btrfs_run_discard_work and make it static 2023-06-19 13:59:25 +02:00
disk-io.c btrfs: use a separate end_io handler for read_extent_buffer 2023-06-19 13:59:27 +02:00
disk-io.h btrfs: use a separate end_io handler for read_extent_buffer 2023-06-19 13:59:27 +02:00
export.c
export.h
extent-io-tree.c btrfs: fix spelling mistakes found using codespell 2023-02-15 19:38:50 +01:00
extent-io-tree.h btrfs: remove the io_failure_record infrastructure 2023-02-15 19:38:51 +01:00
extent-tree.c btrfs: fix comment referring to no longer existing btrfs_clean_tree_block() 2023-06-19 13:59:26 +02:00
extent-tree.h btrfs: remove level argument from btrfs_set_block_flags 2023-06-19 13:59:24 +02:00
extent_io.c btrfs: don't use btrfs_bio_ctrl for extent buffer writing 2023-06-19 13:59:28 +02:00
extent_io.h btrfs: mark extent_buffer_under_io static 2023-06-19 13:59:27 +02:00
extent_map.c btrfs: fix extent map logging bit not cleared for split maps after dropping range 2023-03-06 19:28:19 +01:00
extent_map.h
file-item.c btrfs: use SECTOR_SHIFT to convert LBA to physical offset 2023-06-19 13:59:23 +02:00
file-item.h btrfs: scrub: introduce helper to find and fill sector info for a scrub_stripe 2023-04-17 18:01:23 +02:00
file.c btrfs: determine synchronous writers from bio or writeback control 2023-06-19 13:59:23 +02:00
file.h
free-space-cache.c btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c 2023-06-19 13:59:24 +02:00
free-space-cache.h btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c 2023-06-19 13:59:24 +02:00
free-space-tree.c btrfs: make clear_cache mount option to rebuild FST without disabling it 2023-05-10 14:51:27 +02:00
free-space-tree.h btrfs: make clear_cache mount option to rebuild FST without disabling it 2023-05-10 14:51:27 +02:00
fs.c btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
fs.h btrfs: remove hipri_workers workqueue 2023-06-19 13:59:23 +02:00
inode-item.c btrfs: remove obsolete delayed ref throttling logic when truncating items 2023-04-17 18:01:19 +02:00
inode-item.h btrfs: move split_flags/combine_flags helpers to inode-item.h 2023-06-19 13:59:25 +02:00
inode.c btrfs: change for_rename argument of btrfs_record_unlink_dir() to bool 2023-06-19 13:59:26 +02:00
ioctl.c btrfs: trigger orphan inode cleanup during START_SYNC ioctl 2023-06-19 13:59:26 +02:00
ioctl.h fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
Kconfig block: make blkcg_punt_bio_submit optional 2023-04-17 18:01:22 +02:00
locking.c btrfs: locking: use atomic for DREW lock writers 2023-04-17 18:01:17 +02:00
locking.h btrfs: locking: use atomic for DREW lock writers 2023-04-17 18:01:17 +02:00
lru_cache.c btrfs: send: cache utimes operations for directories if possible 2023-02-15 19:38:50 +01:00
lru_cache.h btrfs: remove btrfs_lru_cache_is_full() inline function 2023-04-17 18:01:18 +02:00
lzo.c btrfs: move zero filling of compressed read bios into common code 2023-04-17 18:01:17 +02:00
Makefile btrfs: send: genericize the backref cache to allow it to be reused 2023-02-13 17:50:35 +01:00
messages.c btrfs: mark btrfs_assertfail() __noreturn 2023-04-17 19:52:19 +02:00
messages.h btrfs: add __KERNEL__ check for btrfs_no_printk 2023-06-19 13:59:25 +02:00
misc.h btrfs: export bitmap_test_range_all_{set,zero} 2023-06-19 13:59:22 +02:00
ordered-data.c btrfs: fold btrfs_clone_ordered_extent into btrfs_split_ordered_extent 2023-04-17 18:01:21 +02:00
ordered-data.h btrfs: sink parameter len to btrfs_split_ordered_extent 2023-04-17 18:01:21 +02:00
orphan.c
orphan.h
print-tree.c btrfs: print-tree: pass const extent buffer pointer 2023-06-19 13:59:22 +02:00
print-tree.h btrfs: print-tree: pass const extent buffer pointer 2023-06-19 13:59:22 +02:00
props.c
props.h
qgroup.c btrfs: fix race between quota disable and quota assign ioctls 2023-03-28 00:46:53 +02:00
qgroup.h
raid56.c btrfs: scrub: use recovered data stripes as cache to avoid unnecessary read 2023-06-19 13:59:24 +02:00
raid56.h btrfs: scrub: use recovered data stripes as cache to avoid unnecessary read 2023-06-19 13:59:24 +02:00
rcu-string.h btrfs: replace strncpy() with strscpy() 2022-12-05 18:00:59 +01:00
ref-verify.c
ref-verify.h
reflink.c
reflink.h
relocation.c btrfs: output affected files when relocation fails 2023-06-19 13:59:23 +02:00
relocation.h btrfs: output affected files when relocation fails 2023-06-19 13:59:23 +02:00
root-tree.c
root-tree.h
scrub.c btrfs: scrub: remove more unused functions 2023-06-19 13:59:26 +02:00
scrub.h btrfs: scrub: remove scrub_bio structure 2023-04-17 18:01:24 +02:00
send.c btrfs: fix uninitialized variable warnings 2023-04-17 19:52:19 +02:00
send.h
space-info.c btrfs: add helper to calculate space for delayed references 2023-04-17 18:01:19 +02:00
space-info.h btrfs: update documentation for BTRFS_RESERVE_FLUSH_EVICT flush method 2023-04-17 18:01:18 +02:00
subpage.c btrfs: export bitmap_test_range_all_{set,zero} 2023-06-19 13:59:22 +02:00
subpage.h
super.c btrfs: remove hipri_workers workqueue 2023-06-19 13:59:23 +02:00
super.h
sysfs.c btrfs: sysfs: relax bg_reclaim_threshold for debugging purposes 2023-04-17 18:01:18 +02:00
sysfs.h btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
transaction.c btrfs: don't hold an extra reference for redirtied buffers 2023-06-19 13:59:26 +02:00
transaction.h btrfs: don't hold an extra reference for redirtied buffers 2023-06-19 13:59:26 +02:00
tree-checker.c btrfs: move split_flags/combine_flags helpers to inode-item.h 2023-06-19 13:59:25 +02:00
tree-checker.h btrfs: move btrfs_verify_level_key into tree-checker.c 2023-06-19 13:59:25 +02:00
tree-log.c btrfs: change for_rename argument of btrfs_record_unlink_dir() to bool 2023-06-19 13:59:26 +02:00
tree-log.h btrfs: change for_rename argument of btrfs_record_unlink_dir() to bool 2023-06-19 13:59:26 +02:00
tree-mod-log.c btrfs: add eb to btrfs_node_key_ptr_offset 2022-12-05 18:00:58 +01:00
tree-mod-log.h
ulist.c
ulist.h
uuid-tree.c
uuid-tree.h
verity.c fsverity: pass pos and size to ->write_merkle_tree_block 2023-01-01 15:46:48 -08:00
verity.h
volumes.c btrfs: make btrfs_free_device() static 2023-06-19 13:59:22 +02:00
volumes.h btrfs: make btrfs_free_device() static 2023-06-19 13:59:22 +02:00
xattr.c fs: drop unused posix acl handlers 2023-03-06 09:57:12 +01:00
xattr.h
zlib.c btrfs: move zero filling of compressed read bios into common code 2023-04-17 18:01:17 +02:00
zoned.c btrfs: don't hold an extra reference for redirtied buffers 2023-06-19 13:59:26 +02:00
zoned.h btrfs: don't hold an extra reference for redirtied buffers 2023-06-19 13:59:26 +02:00
zstd.c btrfs: move zero filling of compressed read bios into common code 2023-04-17 18:01:17 +02:00