linux/fs/btrfs
Josef Bacik ed25dab3a0 btrfs: add trans argument to btrfs_clean_tree_block
We check the header generation in the extent buffer against the current
running transaction id to see if it's safe to clear DIRTY on this
buffer.  Generally speaking if we're clearing the buffer dirty we're
holding the transaction open, but in the case of cleaning up an aborted
transaction we don't, so we have extra checks in that path to check the
transid.  To allow for a future cleanup go ahead and pass in the trans
handle so we don't have to rely on ->running_transaction being set.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-02-15 19:38:53 +01:00
..
tests btrfs: drop private_data parameter from extent_io_tree_init 2022-12-05 18:00:54 +01: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 for-6.2-tag 2022-12-12 20:47:51 -08:00
acl.h for-6.2-tag 2022-12-12 20:47:51 -08:00
async-thread.c btrfs: simplify WQ_HIGHPRI handling in struct btrfs_workqueue 2022-05-16 17:03:15 +02:00
async-thread.h btrfs: remove unused typedefs get_extent_t and btrfs_work_func_t 2022-07-25 17:45:36 +02:00
backref.c btrfs: skip backref walking during fiemap if we know the leaf is shared 2023-02-15 19:38:50 +01:00
backref.h btrfs: send: skip resolution of our own backref when finding clone source 2022-12-05 18:00:50 +01:00
bio.c btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
bio.h btrfs: remove the fs_info argument to btrfs_submit_bio 2023-02-15 19:38:53 +01:00
block-group.c btrfs: don't use size classes for zoned file systems 2023-02-13 17:50:34 +01:00
block-group.h btrfs: don't use size classes for zoned file systems 2023-02-13 17:50:34 +01:00
block-rsv.c btrfs: simplify percent calculation helpers, rename div_factor 2022-12-05 18:00:48 +01:00
block-rsv.h btrfs: simplify percent calculation helpers, rename div_factor 2022-12-05 18:00:48 +01:00
btrfs_inode.h btrfs: remove now spurious bio submission helpers 2023-02-15 19:38:53 +01:00
check-integrity.c btrfs: use btrfs_dev_name() helper to handle missing devices better 2022-12-05 18:00:57 +01:00
check-integrity.h btrfs: check-integrity: split submit_bio from btrfsic checking 2022-05-16 17:03:12 +02:00
compression.c btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
compression.h btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
ctree.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
ctree.h fs.acl.rework.v6.2 2022-12-12 18:46:39 -08:00
defrag.c btrfs: remove the wait argument to btrfs_start_ordered_extent 2023-02-13 17:50:34 +01:00
defrag.h btrfs: move defrag related prototypes to their own header 2022-12-05 18:00:46 +01:00
delalloc-space.c btrfs: update function comments 2022-12-05 18:00:45 +01:00
delalloc-space.h btrfs: move delalloc space related prototypes to delalloc-space.h 2022-12-05 18:00:44 +01:00
delayed-inode.c btrfs: pass btrfs_inode to btrfs_inode_unlock 2022-12-05 18:00:53 +01:00
delayed-inode.h btrfs: extend btrfs_dir_item type to store encryption status 2022-12-05 18:00:43 +01:00
delayed-ref.c btrfs: directly pass in fs_info to btrfs_merge_delayed_refs 2023-02-13 17:50:33 +01:00
delayed-ref.h btrfs: directly pass in fs_info to btrfs_merge_delayed_refs 2023-02-13 17:50:33 +01:00
dev-replace.c btrfs: use btrfs_dev_name() helper to handle missing devices better 2022-12-05 18:00:57 +01:00
dev-replace.h btrfs: move dev-replace prototypes into dev-replace.h 2022-12-05 18:00:47 +01:00
dir-item.c btrfs: move dir-item prototypes into dir-item.h 2022-12-05 18:00:46 +01:00
dir-item.h btrfs: move dir-item prototypes into dir-item.h 2022-12-05 18:00:46 +01:00
discard.c btrfs: hold block group refcount during async discard 2023-02-15 19:38:50 +01:00
discard.h btrfs: cleanup btrfs_discard_update_discardable usage 2020-12-08 15:54:02 +01:00
disk-io.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
disk-io.h btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
export.c btrfs: move super_block specific helpers into super.h 2022-12-05 18:00:47 +01:00
export.h btrfs: simplify generation check in btrfs_get_dentry 2022-12-05 18:00:41 +01:00
extent_io.c btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
extent_io.h btrfs: remove the io_failure_record infrastructure 2023-02-15 19:38:51 +01:00
extent_map.c btrfs: remove no longer used btrfs_next_extent_map() 2022-12-05 18:00:56 +01:00
extent_map.h btrfs: remove no longer used btrfs_next_extent_map() 2022-12-05 18:00:56 +01:00
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: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
extent-tree.h btrfs: introduce size class to block group allocator 2023-02-13 17:50:34 +01:00
file-item.c btrfs: simplify the btrfs_csum_one_bio calling convention 2023-02-15 19:38:52 +01:00
file-item.h btrfs: simplify the btrfs_csum_one_bio calling convention 2023-02-15 19:38:52 +01:00
file.c btrfs: remove the wait argument to btrfs_start_ordered_extent 2023-02-13 17:50:34 +01:00
file.h btrfs: use cached state when looking for delalloc ranges with fiemap 2022-12-05 18:00:56 +01:00
free-space-cache.c btrfs: pass btrfs_inode to btrfs_add_delayed_iput 2022-12-05 18:00:55 +01:00
free-space-cache.h btrfs: convert discard stat defs to enum 2022-12-05 18:00:45 +01:00
free-space-tree.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
free-space-tree.h
fs.c btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
fs.h btrfs: calculate file system wide queue limit for zoned mode 2023-02-15 19:38:53 +01:00
inode-item.c btrfs: move file-item prototypes into their own header 2022-12-05 18:00:46 +01:00
inode-item.h btrfs: use struct fscrypt_str instead of struct qstr 2022-12-05 18:00:43 +01:00
inode.c btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
ioctl.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
ioctl.h btrfs: move ioctl prototypes into ioctl.h 2022-12-05 18:00:46 +01:00
Kconfig btrfs: use generic Kconfig option for 256kB page size limit 2022-01-20 08:52:55 +02:00
locking.c btrfs: move accessor helpers into accessors.h 2022-12-05 18:00:42 +01:00
locking.h btrfs: move the lockdep helpers into locking.h 2022-12-05 18:00:44 +01: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: send: cache utimes operations for directories if possible 2023-02-15 19:38:50 +01:00
lzo.c btrfs: use PAGE_{ALIGN, ALIGNED, ALIGN_DOWN} macro 2023-02-13 17:50:34 +01: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: move btrfs_abort_transaction to transaction.c 2023-02-13 17:50:33 +01:00
messages.h btrfs: move btrfs_abort_transaction to transaction.c 2023-02-13 17:50:33 +01:00
misc.h btrfs: simplify percent calculation helpers, rename div_factor 2022-12-05 18:00:48 +01:00
ordered-data.c btrfs: remove the wait argument to btrfs_start_ordered_extent 2023-02-13 17:50:34 +01:00
ordered-data.h btrfs: remove the wait argument to btrfs_start_ordered_extent 2023-02-13 17:50:34 +01:00
orphan.c btrfs: move orphan prototypes into orphan.h 2022-12-05 18:00:47 +01:00
orphan.h btrfs: move orphan prototypes into orphan.h 2022-12-05 18:00:47 +01:00
print-tree.c btrfs: move struct btrfs_tree_parent_check out of disk-io.h 2022-12-05 18:00:57 +01:00
print-tree.h btrfs: print the actual offset in btrfs_root_name 2021-01-07 17:25:05 +01:00
props.c btrfs: move super_block specific helpers into super.h 2022-12-05 18:00:47 +01:00
props.h btrfs: make module init/exit match their sequence 2022-12-05 18:00:40 +01:00
qgroup.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
qgroup.h btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent 2022-12-05 18:00:43 +01:00
raid56.c btrfs: raid56: reduce overhead to calculate the bio length 2023-02-15 19:38:50 +01:00
raid56.h btrfs: fix spelling mistakes found using codespell 2023-02-15 19:38:50 +01:00
rcu-string.h btrfs: replace strncpy() with strscpy() 2022-12-05 18:00:59 +01:00
ref-verify.c btrfs: move accessor helpers into accessors.h 2022-12-05 18:00:42 +01:00
ref-verify.h
reflink.c btrfs: pass btrfs_inode to btrfs_inode_unlock 2022-12-05 18:00:53 +01:00
reflink.h
relocation.c btrfs: use PAGE_{ALIGN, ALIGNED, ALIGN_DOWN} macro 2023-02-13 17:50:34 +01:00
relocation.h btrfs: move relocation prototypes into relocation.h 2022-12-05 18:00:47 +01:00
root-tree.c btrfs: move orphan prototypes into orphan.h 2022-12-05 18:00:47 +01:00
root-tree.h btrfs: move root tree prototypes to their own header 2022-12-05 18:00:44 +01:00
scrub.c btrfs: fix spelling mistakes found using codespell 2023-02-15 19:38:50 +01:00
scrub.h btrfs: move scrub prototypes into scrub.h 2022-12-05 18:00:47 +01:00
send.c btrfs: send: cache utimes operations for directories if possible 2023-02-15 19:38:50 +01:00
send.h btrfs: send add define for v2 buffer size 2022-12-05 18:00:41 +01:00
space-info.c btrfs: zoned: enable metadata over-commit for non-ZNS setup 2023-01-11 20:04:25 +01:00
space-info.h btrfs: move btrfs_account_ro_block_groups_free_space into space-info.c 2022-12-05 18:00:44 +01:00
subpage.c btrfs: move the printk helpers out of ctree.h 2022-12-05 18:00:41 +01:00
subpage.h btrfs: make nodesize >= PAGE_SIZE case to reuse the non-subpage routine 2022-05-16 17:03:11 +02:00
super.c btrfs: fix spelling mistakes found using codespell 2023-02-15 19:38:50 +01:00
super.h btrfs: move super_block specific helpers into super.h 2022-12-05 18:00:47 +01:00
sysfs.c btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
sysfs.h btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
transaction.c btrfs: sysfs: update fs features directory asynchronously 2023-02-13 17:50:35 +01:00
transaction.h btrfs: move btrfs_abort_transaction to transaction.c 2023-02-13 17:50:33 +01:00
tree-checker.c btrfs: pass the extent buffer for the btrfs_item_nr helpers 2022-12-05 18:00:58 +01:00
tree-checker.h btrfs: move struct btrfs_tree_parent_check out of disk-io.h 2022-12-05 18:00:57 +01:00
tree-log.c btrfs: add trans argument to btrfs_clean_tree_block 2023-02-15 19:38:53 +01:00
tree-log.h btrfs: use a negative value for BTRFS_LOG_FORCE_COMMIT 2023-02-13 17:50:34 +01: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 btrfs: fix SPDX comment in tree-mod-log.h 2022-12-05 18:00:48 +01:00
ulist.c btrfs: constify ulist parameter of ulist_next() 2022-12-05 18:00:50 +01:00
ulist.h btrfs: constify ulist parameter of ulist_next() 2022-12-05 18:00:50 +01:00
uuid-tree.c btrfs: move uuid tree prototypes to uuid-tree.h 2022-12-05 18:00:46 +01:00
uuid-tree.h btrfs: move uuid tree prototypes to uuid-tree.h 2022-12-05 18:00:46 +01:00
verity.c btrfs: move orphan prototypes into orphan.h 2022-12-05 18:00:47 +01:00
verity.h btrfs: move verity prototypes into verity.h 2022-12-05 18:00:47 +01:00
volumes.c btrfs: remove struct btrfs_io_geometry 2023-02-15 19:38:52 +01:00
volumes.h btrfs: remove struct btrfs_io_geometry 2023-02-15 19:38:52 +01:00
xattr.c btrfs: move dir-item prototypes into dir-item.h 2022-12-05 18:00:46 +01:00
xattr.h
zlib.c btrfs: zlib: zero-initialize zlib workspace 2023-01-25 20:11:08 +01:00
zoned.c btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
zoned.h btrfs: split zone append bios in btrfs_submit_bio 2023-02-15 19:38:53 +01:00
zstd.c btrfs: constify input buffer parameter in compression code 2022-12-05 18:00:55 +01:00