linux/fs/btrfs
Filipe Manana 9aa29a20b7 btrfs: move the direct IO code into its own file
The direct IO code is over a thousand lines and it's currently spread
between file.c and inode.c, which makes it not easy to locate some parts
of it sometimes. Also inode.c is about 11 thousand lines and file.c about
4 thousand lines, both too big. So move all the direct IO code into a
dedicated file, so that it's easy to locate all its code and reduce the
sizes of inode.c and file.c.

This is a pure move of code without any other changes except export a
a couple functions from inode.c (get_extent_allocation_hint() and
create_io_em()) because they are used in inode.c and the new direct-io.c
file, and a couple functions from file.c (btrfs_buffered_write() and
btrfs_write_check()) because they are used both in file.c and in the new
direct-io.c file.

Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-07-11 15:33:29 +02:00
..
tests btrfs: remove extent_map::block_start member 2024-07-11 15:33:21 +02:00
accessors.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
accessors.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
acl.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
acl.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
async-thread.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
async-thread.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
backref.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
backref.h btrfs: uninline some static inline helpers from backref.h 2024-03-04 16:24:53 +01:00
bio.c btrfs: pass a btrfs_inode to is_data_inode() 2024-07-11 15:33:28 +02:00
bio.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
block-group.c btrfs: switch btrfs_block_group::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
block-group.h btrfs: switch btrfs_block_group::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
block-rsv.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
block-rsv.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
btrfs_inode.h btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
compression.c btrfs: pass a btrfs_inode to btrfs_compress_heuristic() 2024-07-11 15:33:28 +02:00
compression.h btrfs: pass a btrfs_inode to btrfs_compress_heuristic() 2024-07-11 15:33:28 +02:00
ctree.c btrfs: replace BUG_ON() with error handling at update_ref_for_cow() 2024-07-11 15:33:26 +02:00
ctree.h btrfs: remove inode_lock from struct btrfs_root and use xarray locks 2024-07-11 15:33:17 +02:00
defrag.c btrfs: remove super block argument from btrfs_iget() 2024-07-11 15:33:25 +02:00
defrag.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
delalloc-space.c btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
delalloc-space.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
delayed-inode.c btrfs: pass a btrfs_inode to btrfs_readdir_get_delayed_items() 2024-07-11 15:33:28 +02:00
delayed-inode.h btrfs: pass a btrfs_inode to btrfs_readdir_get_delayed_items() 2024-07-11 15:33:28 +02:00
delayed-ref.c btrfs: avoid allocating and running pointless delayed extent operations 2024-07-11 15:33:26 +02:00
delayed-ref.h btrfs: avoid allocating and running pointless delayed extent operations 2024-07-11 15:33:26 +02:00
dev-replace.c btrfs: simplify range parameters of btrfs_wait_ordered_roots() 2024-07-11 15:33:19 +02:00
dev-replace.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
dir-item.c btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
dir-item.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
direct-io.c btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
direct-io.h btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
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: remove all extra btrfs_check_eb_owner() calls 2024-07-11 15:33:24 +02:00
disk-io.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
export.c btrfs: remove super block argument from btrfs_iget() 2024-07-11 15:33:25 +02:00
export.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
extent_io.c btrfs: pass a btrfs_inode to is_data_inode() 2024-07-11 15:33:28 +02:00
extent_io.h btrfs: preallocate ulist memory for qgroup rsv 2024-07-11 15:33:26 +02:00
extent_map.c btrfs: remove extent_map::block_start member 2024-07-11 15:33:21 +02:00
extent_map.h btrfs: do not directly include rwlock_types.h 2024-07-11 15:33:22 +02:00
extent-io-tree.c btrfs: preallocate ulist memory for qgroup rsv 2024-07-11 15:33:26 +02:00
extent-io-tree.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
extent-tree.c btrfs: avoid allocating and running pointless delayed extent operations 2024-07-11 15:33:26 +02:00
extent-tree.h btrfs: do not BUG_ON() when freeing tree block after error 2024-07-11 15:33:26 +02:00
fiemap.c btrfs: move fiemap code into its own file 2024-07-11 15:33:20 +02:00
fiemap.h btrfs: move fiemap code into its own file 2024-07-11 15:33:20 +02:00
file-item.c btrfs: remove extent_map::block_start member 2024-07-11 15:33:21 +02:00
file-item.h btrfs: remove search_commit parameter from btrfs_lookup_csums_list() 2024-05-07 21:31:03 +02:00
file.c btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
file.h btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
free-space-cache.c btrfs: switch btrfs_block_group::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
free-space-cache.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
free-space-tree.c btrfs: do not BUG_ON() when freeing tree block after error 2024-07-11 15:33:26 +02:00
free-space-tree.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
fs.c
fs.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
inode-item.c btrfs: abort transaction if we don't find extref in btrfs_del_inode_extref() 2024-07-11 15:33:27 +02:00
inode-item.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
inode.c btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
ioctl.c btrfs: pass a btrfs_inode to btrfs_set_prop() 2024-07-11 15:33:29 +02:00
ioctl.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
Kconfig btrfs: check-integrity: remove CONFIG_BTRFS_FS_CHECK_INTEGRITY option 2023-10-12 16:44:05 +02:00
locking.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
locking.h btrfs: cleanup recursive include of the same header 2024-07-11 15:33:22 +02:00
lru_cache.c btrfs: fix typos found by codespell 2023-12-15 23:00:04 +01:00
lru_cache.h btrfs: cleanup recursive include of the same header 2024-07-11 15:33:22 +02:00
lzo.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00
Makefile btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
messages.c btrfs: remove colon from messages with state 2024-04-18 01:46:35 +02:00
messages.h btrfs: constify fs_info parameter in __btrfs_panic() 2023-12-15 20:27:02 +01:00
misc.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
ordered-data.c btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
ordered-data.h btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
orphan.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
orphan.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
print-tree.c btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
print-tree.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
props.c btrfs: pass a btrfs_inode to btrfs_set_prop() 2024-07-11 15:33:29 +02:00
props.h btrfs: pass a btrfs_inode to btrfs_set_prop() 2024-07-11 15:33:29 +02:00
qgroup.c btrfs: qgroup: preallocate memory before adding a relation 2024-07-11 15:33:27 +02:00
qgroup.h btrfs: qgroup: preallocate memory before adding a relation 2024-07-11 15:33:27 +02:00
raid56.c btrfs: raid56: do extra dumping for CONFIG_BTRFS_ASSERT 2024-07-11 15:33:16 +02:00
raid56.h btrfs: add forward declarations and headers, part 2 2024-03-04 16:24:49 +01:00
raid-stripe-tree.c btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
raid-stripe-tree.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
rcu-string.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
ref-verify.c btrfs: fix uninitialized return value in the ref-verify tool 2024-07-02 19:14:57 +02:00
ref-verify.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
reflink.c btrfs: pass a btrfs_inode to btrfs_wait_ordered_range() 2024-07-11 15:33:18 +02:00
reflink.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
relocation.c btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
relocation.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
root-tree.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
root-tree.h btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations 2024-04-02 19:18:23 +02:00
scrub.c btrfs: add and use helper to commit the current transaction 2024-07-11 15:33:20 +02:00
scrub.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
send.c btrfs: pass a btrfs_inode to btrfs_ioctl_send() 2024-07-11 15:33:28 +02:00
send.h btrfs: pass a btrfs_inode to btrfs_ioctl_send() 2024-07-11 15:33:28 +02:00
space-info.c btrfs: urgent periodic reclaim pass 2024-07-11 15:33:27 +02:00
space-info.h btrfs: prevent pathological periodic reclaim loops 2024-07-11 15:33:27 +02:00
subpage.c btrfs: pass a btrfs_inode to is_data_inode() 2024-07-11 15:33:28 +02:00
subpage.h btrfs: subpage: introduce helpers to handle subpage delalloc locking 2024-07-11 15:33:22 +02:00
super.c btrfs: move the direct IO code into its own file 2024-07-11 15:33:29 +02:00
super.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
sysfs.c btrfs: periodic block_group reclaim 2024-07-11 15:33:27 +02:00
sysfs.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
transaction.c btrfs: switch btrfs_pending_snapshot::dir to btrfs_inode 2024-07-11 15:33:28 +02:00
transaction.h btrfs: switch btrfs_pending_snapshot::dir to btrfs_inode 2024-07-11 15:33:28 +02:00
tree-checker.c btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
tree-checker.h btrfs: make sure that WRITTEN is set on all metadata blocks 2024-05-02 22:11:13 +02:00
tree-log.c btrfs: remove super block argument from btrfs_iget() 2024-07-11 15:33:25 +02:00
tree-log.h btrfs: avoid transaction commit on any fsync after subvolume creation 2024-07-11 15:33:24 +02:00
tree-mod-log.c btrfs: change root->root_key.objectid to btrfs_root_id() 2024-05-07 21:31:06 +02:00
tree-mod-log.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
ulist.c btrfs: preallocate ulist memory for qgroup rsv 2024-07-11 15:33:26 +02:00
ulist.h btrfs: preallocate ulist memory for qgroup rsv 2024-07-11 15:33:26 +02:00
uuid-tree.c btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
uuid-tree.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
verity.c btrfs: remove unused included headers 2024-03-04 16:24:46 +01:00
verity.h btrfs: add forward declarations and headers, part 1 2024-03-04 16:24:49 +01:00
volumes.c btrfs: abort transaction on errors in btrfs_free_chunk() 2024-07-11 15:33:27 +02:00
volumes.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
xattr.c btrfs: pass a btrfs_inode to btrfs_set_prop() 2024-07-11 15:33:29 +02:00
xattr.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
zlib.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00
zoned.c btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inode 2024-07-11 15:33:28 +02:00
zoned.h btrfs: constify pointer parameters where applicable 2024-07-11 15:33:22 +02:00
zstd.c btrfs: compression: migrate compression/decompression paths to folios 2024-05-07 21:31:02 +02:00