David Sterba
fa3f33b20b
btrfs: clear log tree recovering status if starting transaction fails
...
[ Upstream commit 1aeb6b563aea18cd55c73cf666d1d3245a00f08c ]
When a log recovery is in progress, lots of operations have to take that
into account, so we keep this status per tree during the operation. Long
time ago error handling revamp patch 79787eaab4 ("btrfs: replace many
BUG_ONs with proper error handling") removed clearing of the status in
an error branch. Add it back as was intended in e02119d5a7 ("Btrfs:
Add a write ahead tree log to optimize synchronous operations").
There are probably no visible effects, log replay is done only during
mount and if it fails all structures are cleared so the stale status
won't be kept.
Fixes: 79787eaab4 ("btrfs: replace many BUG_ONs with proper error handling")
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-14 16:53:23 +02:00
..
tests
btrfs: Correctly handle empty trees in find_first_clear_extent_bit
2020-02-11 04:35:34 -08:00
acl.c
async-thread.c
Btrfs: fix crash during unmount due to race with delayed inode workers
2020-04-17 10:50:15 +02:00
async-thread.h
Btrfs: fix crash during unmount due to race with delayed inode workers
2020-04-17 10:50:15 +02:00
backref.c
btrfs: backref, use correct count to resolve normal data refs
2021-02-07 15:35:47 +01:00
backref.h
block-group.c
btrfs: scrub: Don't check free space before marking a block group RO
2021-03-20 10:39:46 +01:00
block-group.h
btrfs: scrub: Don't check free space before marking a block group RO
2021-03-20 10:39:46 +01:00
block-rsv.c
btrfs: force chunk allocation if our global rsv is larger than metadata
2020-06-22 09:31:13 +02:00
block-rsv.h
btrfs: migrate the global_block_rsv helpers to block-rsv.c
2019-07-02 12:30:55 +02:00
btrfs_inode.h
btrfs: remove assumption about csum type form btrfs_print_data_csum_error()
2019-07-01 13:35:02 +02:00
check-integrity.c
btrfs: fix possible NULL-pointer dereference in integrity checks
2020-02-24 08:36:53 +01:00
check-integrity.h
compression.c
btrfs: move cond_wake_up functions out of ctree
2019-09-09 14:59:15 +02:00
compression.h
btrfs: compression: replace set_level callbacks by a common helper
2019-09-09 14:59:11 +02:00
ctree.c
btrfs: fix race when picking most recent mod log operation for an old root
2021-05-11 14:04:14 +02:00
ctree.h
btrfs: fix backport of 2175bf57dc952 in 5.4.95
2021-02-23 15:02:26 +01:00
delalloc-space.c
Btrfs: fix qgroup double free after failure to reserve metadata for delalloc
2019-10-17 20:13:44 +02:00
delalloc-space.h
btrfs: migrate the delalloc space stuff to it's own home
2019-07-04 17:26:17 +02:00
delayed-inode.c
btrfs: abort transaction if we fail to update the delayed inode
2021-07-14 16:53:14 +02:00
delayed-inode.h
delayed-ref.c
Btrfs: fix race between adding and putting tree mod seq elements and nodes
2020-02-11 04:35:34 -08:00
delayed-ref.h
btrfs: migrate the delayed refs rsv code
2019-07-04 17:26:17 +02:00
dev-replace.c
btrfs: dev-replace: fail mount if we don't have replace item with target device
2020-11-18 19:20:29 +01:00
dev-replace.h
dir-item.c
disk-io.c
btrfs: promote debugging asserts to full-fledged checks in validate_super
2021-06-16 11:59:40 +02:00
disk-io.h
btrfs: Make reada_tree_block_flagged private
2019-09-09 14:59:11 +02:00
export.c
btrfs: export helpers for subvolume name/id resolution
2020-08-26 10:40:49 +02:00
export.h
btrfs: export helpers for subvolume name/id resolution
2020-08-26 10:40:49 +02:00
extent-tree.c
btrfs: fix unmountable seed device after fstrim
2021-06-10 13:37:15 +02:00
extent_io.c
btrfs: return whole extents in fiemap
2021-06-03 08:59:11 +02:00
extent_io.h
btrfs: trim: fix underflow in trim length to prevent access beyond device boundary
2020-12-30 11:51:37 +01:00
extent_map.c
Btrfs: fix race between using extent maps and merging them
2020-02-19 19:53:00 +01:00
extent_map.h
file-item.c
btrfs: fix error handling in btrfs_del_csums
2021-06-10 13:37:13 +02:00
file.c
btrfs: return value from btrfs_mark_extent_written() in case of error
2021-06-16 11:59:40 +02:00
free-space-cache.c
btrfs: clarify error returns values in __load_free_space_cache
2021-03-04 10:26:24 +01:00
free-space-cache.h
btrfs: move struct io_ctl to free-space-cache.h
2019-09-09 14:59:15 +02:00
free-space-tree.c
btrfs: fix possible free space tree corruption with online conversion
2021-02-03 23:25:57 +01:00
free-space-tree.h
btrfs: move basic block_group definitions to their own header
2019-09-09 14:59:03 +02:00
inode-item.c
btrfs: Make btrfs_find_name_in_ext_backref return struct btrfs_inode_extref
2019-09-09 14:59:16 +02:00
inode-map.c
btrfs: qgroup: Always free PREALLOC META reserve in btrfs_delalloc_release_extents()
2019-10-15 18:50:07 +02:00
inode-map.h
inode.c
btrfs: mark ordered extent and inode with error if we fail to finish
2021-06-10 13:37:13 +02:00
ioctl.c
btrfs: fix metadata extent leak after failure to create subvolume
2021-05-11 14:04:04 +02:00
Kconfig
btrfs: disable build on platforms having page size 256K
2021-07-14 16:53:14 +02:00
locking.c
btrfs: move cond_wake_up functions out of ctree
2019-09-09 14:59:15 +02:00
locking.h
btrfs: Remove unused locking functions
2019-09-09 14:58:59 +02:00
lzo.c
btrfs: compression: replace set_level callbacks by a common helper
2019-09-09 14:59:11 +02:00
Makefile
btrfs: migrate the block group lookup code
2019-09-09 14:59:04 +02:00
misc.h
btrfs: move math functions to misc.h
2019-09-09 14:59:15 +02:00
ordered-data.c
Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents
2020-02-28 17:22:24 +01:00
ordered-data.h
orphan.c
print-tree.c
btrfs: require only sector size alignment for parent eb bytenr
2020-09-17 13:47:51 +02:00
print-tree.h
props.c
btrfs: rename the btrfs_calc_*_metadata_size helpers
2019-09-09 14:59:13 +02:00
props.h
qgroup.c
btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
2021-01-19 18:26:14 +01:00
qgroup.h
btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode
2020-09-03 11:26:47 +02:00
raid56.c
btrfs: fix raid6 qstripe kmap
2021-03-09 11:09:37 +01:00
raid56.h
rcu-string.h
reada.c
btrfs: fix readahead hang and use-after-free after removing a device
2020-11-05 11:43:27 +01:00
ref-verify.c
btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod
2020-11-18 19:20:28 +01:00
ref-verify.h
relocation.c
btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s
2021-05-11 14:04:07 +02:00
root-tree.c
btrfs: do not delete mismatched root refs
2020-01-23 08:22:40 +01:00
scrub.c
btrfs: scrub: Don't check free space before marking a block group RO
2021-03-20 10:39:46 +01:00
send.c
btrfs: send: fix invalid path for unlink operations after parent orphanization
2021-07-14 16:53:02 +02:00
send.h
space-info.c
btrfs: take overcommit into account in inc_block_group_ro
2020-10-17 10:11:21 +02:00
space-info.h
btrfs: take overcommit into account in inc_block_group_ro
2020-10-17 10:11:21 +02:00
struct-funcs.c
btrfs: tie extent buffer and it's token together
2019-09-09 14:59:16 +02:00
super.c
btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
2021-01-19 18:26:14 +01:00
sysfs.c
btrfs: sysfs: use NOFS for device creation
2020-08-21 13:05:22 +02:00
sysfs.h
btrfs: sysfs: move helper macros to sysfs.c
2019-09-09 14:59:08 +02:00
transaction.c
btrfs: clear defrag status of a root if starting transaction fails
2021-07-14 16:53:02 +02:00
transaction.h
btrfs: add wrapper for transaction abort predicate
2020-08-26 10:40:49 +02:00
tree-checker.c
btrfs: tree-checker: do not error out if extent ref hash doesn't match
2021-06-10 13:37:01 +02:00
tree-checker.h
tree-defrag.c
tree-log.c
btrfs: clear log tree recovering status if starting transaction fails
2021-07-14 16:53:23 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c
btrfs: handle ENOENT in btrfs_uuid_tree_iterate
2019-12-31 16:42:05 +01:00
volumes.c
btrfs: fix lockdep splat in btrfs_recover_relocation
2021-01-27 11:47:40 +01:00
volumes.h
btrfs: fix readahead hang and use-after-free after removing a device
2020-11-05 11:43:27 +01:00
xattr.c
btrfs: fix warning when creating a directory with smack enabled
2021-03-09 11:09:37 +01:00
xattr.h
zlib.c
btrfs: compression: replace set_level callbacks by a common helper
2019-09-09 14:59:11 +02:00
zstd.c
btrfs: move cond_wake_up functions out of ctree
2019-09-09 14:59:15 +02:00