WSL2-Linux-Kernel/fs/btrfs
Filipe Manana b50857b964 btrfs: replace BUG_ON() with error handling at update_ref_for_cow()
[ Upstream commit b56329a782314fde5b61058e2a25097af7ccb675 ]

Instead of a BUG_ON() just return an error, log an error message and
abort the transaction in case we find an extent buffer belonging to the
relocation tree that doesn't have the full backref flag set. This is
unexpected and should never happen (save for bugs or a potential bad
memory).

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:07:49 +02:00
..
tests btrfs: remove pointless and double ulist frees in error paths of qgroup tests 2022-11-26 09:24:32 +01:00
Kconfig
Makefile
acl.c
async-thread.c
async-thread.h
backref.c btrfs: fix information leak in btrfs_ioctl_logical_to_ino() 2024-05-02 16:24:48 +02:00
backref.h btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino 2022-12-08 11:28:38 +01:00
block-group.c btrfs: fix adding block group to a reclaim list and the unused list during reclaim 2024-07-18 13:07:32 +02:00
block-group.h btrfs: fix space cache corruption and potential double allocations 2022-09-05 10:30:12 +02:00
block-rsv.c btrfs: don't free qgroup space unless specified 2023-05-17 11:50:21 +02:00
block-rsv.h
btrfs_inode.h btrfs: put initial index value of a directory in a constant 2022-08-31 17:16:35 +02:00
check-integrity.c btrfs: rename btrfs_bio to btrfs_io_context 2022-07-21 21:24:32 +02:00
check-integrity.h
compression.c
compression.h
ctree.c btrfs: replace BUG_ON() with error handling at update_ref_for_cow() 2024-09-12 11:07:49 +02:00
ctree.h btrfs: fix corruption after buffer fault in during direct IO append write 2024-08-19 05:45:49 +02:00
delalloc-space.c btrfs: don't arbitrarily slow down delalloc if we're committing 2023-11-28 16:56:29 +00:00
delalloc-space.h
delayed-inode.c btrfs: change BUG_ON to assertion when checking for delayed_node root 2024-09-04 13:23:26 +02:00
delayed-inode.h btrfs: fix infinite directory reads 2024-02-23 08:54:30 +01:00
delayed-ref.c
delayed-ref.h
dev-replace.c btrfs: dev-replace: properly validate device names 2024-03-06 14:38:48 +00:00
dev-replace.h
dir-item.c
discard.c btrfs: hold block group refcount during async discard 2023-03-10 09:39:56 +01:00
discard.h
disk-io.c btrfs: fix leak of qgroup extent records after transaction abort 2024-07-05 09:14:13 +02:00
disk-io.h btrfs: make thaw time super block check to also verify checksum 2023-01-12 11:59:20 +01:00
export.c btrfs: export: handle invalid inode or root reference in btrfs_get_parent() 2024-04-13 13:01:44 +02:00
export.h btrfs: fix type of parameter generation in btrfs_get_dentry 2022-11-10 18:15:38 +01:00
extent-io-tree.h
extent-tree.c btrfs: clean up our handling of refs == 0 in snapshot delete 2024-09-12 11:07:49 +02:00
extent_io.c btrfs: reset destination buffer when read_extent_buffer() gets invalid range 2023-10-06 13:18:11 +02:00
extent_io.h
extent_map.c btrfs: rename btrfs_bio to btrfs_io_context 2022-07-21 21:24:32 +02:00
extent_map.h
file-item.c btrfs: handle memory allocation failure in btrfs_csum_one_bio 2023-06-21 15:59:13 +02:00
file.c btrfs: fix double inode unlock for direct IO sync writes 2024-08-19 05:45:49 +02:00
free-space-cache.c btrfs: rename bitmap_set_bits() -> btrfs_bitmap_set_bits() 2024-09-04 13:23:16 +02:00
free-space-cache.h
free-space-tree.c
free-space-tree.h
inode-item.c
inode.c btrfs: handle invalid root reference found in may_destroy_subvol() 2024-09-04 13:23:26 +02:00
ioctl.c btrfs: forbid creating subvol qgroups 2024-02-23 08:55:01 +01:00
locking.c btrfs: fix lockdep splat with reloc root extent buffers 2022-09-05 10:30:12 +02:00
locking.h btrfs: fix lockdep splat with reloc root extent buffers 2022-09-05 10:30:12 +02:00
lzo.c
misc.h
ordered-data.c
ordered-data.h
orphan.c
print-tree.c btrfs: print-tree: parent bytenr must be aligned to sector size 2023-05-17 11:50:22 +02:00
print-tree.h
props.c
props.h
qgroup.c btrfs: run delayed iputs when flushing delalloc 2024-09-04 13:23:37 +02:00
qgroup.h
raid56.c btrfs: raid56: properly handle the error when unable to find the missing stripe 2022-11-26 09:24:31 +01:00
raid56.h btrfs: rename btrfs_bio to btrfs_io_context 2022-07-21 21:24:32 +02:00
rcu-string.h btrfs: replace strncpy() with strscpy() 2023-01-12 11:59:05 +01:00
reada.c btrfs: rename btrfs_bio to btrfs_io_context 2022-07-21 21:24:32 +02:00
ref-verify.c btrfs: ref-verify: free ref cache before clearing mount opt 2024-02-23 08:54:30 +01:00
ref-verify.h
reflink.c
reflink.h
relocation.c btrfs: exit gracefully if reloc roots don't match 2023-08-16 18:22:02 +02:00
root-tree.c btrfs: fix silent failure when deleting root reference 2022-08-31 17:16:46 +02:00
scrub.c btrfs: zoned: use zone aware sb location for scrub 2024-04-10 16:19:31 +02:00
send.c btrfs: change BUG_ON to assertion in tree_move_down() 2024-09-04 13:23:26 +02:00
send.h
space-info.c
space-info.h
struct-funcs.c
subpage.c
subpage.h
super.c Revert "btrfs: add dmesg output for first mount and last unmount of a filesystem" 2023-12-13 18:36:50 +01:00
sysfs.c btrfs: add definition for EXTENT_TREE_V2 2024-02-23 08:54:34 +01:00
sysfs.h
transaction.c btrfs: always clear PERTRANS metadata during commit 2024-05-17 11:50:54 +02:00
transaction.h
tree-checker.c btrfs: tree-checker: add dev extent item checks 2024-09-04 13:23:17 +02:00
tree-checker.h
tree-defrag.c btrfs: fix an error handling path in btrfs_defrag_leaves() 2023-01-12 11:59:08 +01:00
tree-log.c btrfs: initialize start_slot in btrfs_log_prealloc_extents 2023-10-25 11:58:59 +02:00
tree-log.h btrfs: pass the dentry to btrfs_log_new_name() instead of the inode 2022-08-31 17:16:36 +02:00
tree-mod-log.c
tree-mod-log.h
ulist.c
ulist.h
uuid-tree.c
verity.c
volumes.c btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks() 2024-05-17 11:51:03 +02:00
volumes.h btrfs: add a helper to read the superblock metadata_uuid 2023-09-23 11:10:00 +02:00
xattr.c btrfs: check if root is readonly while setting security xattr 2022-08-31 17:16:46 +02:00
xattr.h
zlib.c btrfs: zlib: zero-initialize zlib workspace 2023-02-14 19:17:56 +01:00
zoned.c btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add 2023-05-17 11:50:22 +02:00
zoned.h btrfs: zoned: revive max_zone_append_bytes 2022-08-31 17:16:34 +02:00
zstd.c