linux-kernelorg-stable/fs
Filipe Manana 88694f74f4 btrfs: add assertions and comment about path expectations to btrfs_cross_ref_exist()
We should always call check_delayed_ref() with a path having a locked leaf
from the extent tree where either the extent item is located or where it
should be located in case it doesn't exist yet (when there's a pending
unflushed delayed ref to do it), as we need to lock any existing delayed
ref head while holding such leaf locked in order to avoid races with
flushing delayed references, which could make us think an extent is not
shared when it really is.

So add some assertions and a comment about such expectations to
btrfs_cross_ref_exist(), which is the only caller of check_delayed_ref().

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2025-01-13 14:53:16 +01:00
..
9p netfs: Work around recursion by abandoning retry if nothing read 2024-12-20 22:07:57 +01:00
adfs
affs
afs afs: Fix merge preference rule failure condition 2025-01-09 17:21:41 +01:00
autofs
bcachefs - The series "resource: A couple of cleanups" from Andy Shevchenko 2024-11-25 16:09:48 -08:00
befs
bfs
btrfs btrfs: add assertions and comment about path expectations to btrfs_cross_ref_exist() 2025-01-13 14:53:16 +01:00
cachefiles cachefiles: Parse the "secctx" immediately 2024-12-20 22:07:56 +01:00
ceph ceph: allocate sparse_ext map only for sparse reads 2024-12-16 23:25:44 +01:00
coda
configfs
cramfs
crypto
debugfs fs: debugfs: fix open proxy for unsafe files 2025-01-10 09:41:53 +01:00
devpts
dlm
ecryptfs vfs-6.13.ecryptfs.mount.api 2024-11-26 13:39:02 -08:00
efivarfs First batch of EFI fixes for v6.13 2024-12-15 15:33:41 -08:00
efs
erofs erofs: use buffered I/O for file-backed mounts by default 2024-12-16 21:02:07 +08:00
exfat exfat: fix the infinite loop in __exfat_free_cluster() 2024-12-31 17:51:21 +09:00
exportfs
ext2
ext4
f2fs f2fs-for-6.13-rc1 2024-11-26 12:50:58 -08:00
fat
freevxfs
fuse fuse fixes for 6.13-rc7 2025-01-07 15:43:07 +01:00
gfs2 gfs2 changes 2024-11-26 12:34:50 -08:00
hfs hfs: Sanity check the root record 2024-12-02 15:32:19 +01:00
hfsplus
hostfs
hpfs
hugetlbfs mm: use aligned address in clear_gigantic_page() 2024-12-18 19:04:42 -08:00
iomap iomap: avoid avoid truncating 64-bit offset to 32 bits 2025-01-09 16:09:20 +01:00
isofs
jbd2 jbd2: flush filesystem device before updating tail sequence 2024-12-04 12:00:05 +01:00
jffs2 jffs2: Fix rtime decompressor 2024-12-05 12:31:40 +01:00
jfs
kernfs
lockd NFSD 6.13 Release Notes 2024-11-26 12:59:30 -08:00
minix
netfs netfs: Fix read-retry for fs with no ->prepare_read() 2025-01-09 17:20:04 +01:00
nfs vfs-6.13-rc7.fixes 2025-01-06 10:26:39 -08:00
nfs_common
nfsd nfsd-6.13 fixes: 2024-12-23 12:16:15 -08:00
nilfs2 nilfs2: fix buffer head leaks in calls to truncate_inode_pages() 2024-12-18 19:04:45 -08:00
nls
notify fs: relax assertions on failure to encode file handles 2024-12-19 15:18:27 +01:00
ntfs3
ocfs2 ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv 2024-12-30 17:59:09 -08:00
omfs
openpromfs
orangefs
overlayfs ovl: support encoding fid from inode with no alias 2025-01-06 15:43:55 +01:00
proc fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bit 2024-12-30 17:59:08 -08:00
pstore Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
qnx4
qnx6 fs/qnx6: Fix building with GCC 15 2024-12-03 10:40:36 +01:00
quota quota: flush quota_release_work upon quota writeback 2024-11-26 22:54:00 +01:00
ramfs
romfs
smb DFS (smb3 global namespace) client fix 2025-01-11 10:49:50 -08:00
squashfs
sysfs
sysv
tests
tracefs
ubifs This pull request contains updates for JFFS2, UBI and UBIFS: 2024-11-30 10:32:47 -08:00
udf udf: Verify inode link counts before performing rename 2024-11-26 22:54:24 +01:00
ufs
unicode Revert "unicode: Don't special case ignorable code points" 2024-12-11 14:11:23 -08:00
vboxsf
verity
xfs xfs: lock dquot buffer before detaching dquot from b_li_list 2025-01-10 10:12:48 +01:00
zonefs
Kconfig
Kconfig.binfmt
Makefile
aio.c
anon_inodes.c
attr.c
backing-file.c fs/backing_file: fix wrong argument in callback 2024-11-26 18:13:29 +01:00
bad_inode.c
binfmt_elf.c Revert "fs: don't block i_writecount during exec" 2024-11-27 12:51:30 +01:00
binfmt_elf_fdpic.c Revert "fs: don't block i_writecount during exec" 2024-11-27 12:51:30 +01:00
binfmt_flat.c
binfmt_misc.c Revert "fs: don't block i_writecount during exec" 2024-11-27 12:51:30 +01:00
binfmt_script.c
bpf_fs_kfuncs.c
buffer.c
char_dev.c
compat_binfmt_elf.c
coredump.c
d_path.c
dax.c
dcache.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c Revert "fs: don't block i_writecount during exec" 2024-11-27 12:51:30 +01:00
fcntl.c
fhandle.c vfs-6.13.exportfs 2024-11-26 13:26:15 -08:00
file.c fs: fix missing declaration of init_files 2024-12-17 13:38:46 +01:00
file_table.c
filesystems.c
fs-writeback.c
fs_context.c
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
init.c
inode.c
internal.h
ioctl.c
kernel_read_file.c
libfs.c
locks.c
mbcache.c
mnt_idmapping.c
mount.h fs: kill MNT_ONRB 2025-01-09 16:58:50 +01:00
mpage.c
namei.c
namespace.c vfs-6.14-rc7.mount.fixes 2025-01-09 17:03:21 +01:00
nsfs.c
open.c
pidfs.c
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
remap_range.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c
sync.c
sysctls.c
timerfd.c
userfaultfd.c
utimes.c
xattr.c