linux-stable/fs/jfs
Christian Brauner 22650a9982
fs,block: yield devices early
Currently a device is only really released once the umount returns to
userspace due to how file closing works. That ultimately could cause
an old umount assumption to be violated that concurrent umount and mount
don't fail. So an exclusively held device with a temporary holder should
be yielded before the filesystem is gone. Add a helper that allows
callers to do that. This also allows us to remove the two holder ops
that Linus wasn't excited about.

Link: https://lore.kernel.org/r/20240326-vfs-bdev-end_holder-v1-1-20af85202918@kernel.org
Fixes: f3a608827d ("bdev: open block device as files") # mainline only
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2024-03-27 13:17:15 +01:00
..
Kconfig 22 smb3/cifs client fixes and two related changes (for unicode mapping) 2023-08-30 21:01:40 -07:00
Makefile fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
acl.c jfs: convert to ctime accessor functions 2023-07-24 10:30:01 +02:00
file.c
inode.c jfs: convert to new timestamp accessors 2023-10-18 14:08:23 +02:00
ioctl.c jfs: convert to ctime accessor functions 2023-07-24 10:30:01 +02:00
jfs_acl.h
jfs_btree.h
jfs_debug.c
jfs_debug.h
jfs_dinode.h jfs: define xtree root and page independently 2023-10-13 10:39:25 -05:00
jfs_discard.c
jfs_discard.h
jfs_dmap.c Revert "jfs: fix shift-out-of-bounds in dbJoin" 2024-01-29 08:45:10 -06:00
jfs_dmap.h
jfs_dtree.c jfs: fix slab-out-of-bounds Read in dtSearch 2023-11-21 15:26:33 -06:00
jfs_dtree.h
jfs_extent.c jfs: validate max amount of blocks before allocation. 2023-08-29 12:25:47 -05:00
jfs_extent.h
jfs_filsys.h
jfs_imap.c jfs: fix array-index-out-of-bounds in diNewExt 2024-01-02 11:02:30 -06:00
jfs_imap.h
jfs_incore.h quota: Properly annotate i_dquot arrays with __rcu 2024-02-08 12:04:59 +01:00
jfs_inode.c jfs: convert to new timestamp accessors 2023-10-18 14:08:23 +02:00
jfs_inode.h
jfs_lock.h
jfs_logmgr.c fs,block: yield devices early 2024-03-27 13:17:15 +01:00
jfs_logmgr.h jfs: port block device access to file 2024-02-25 12:05:26 +01:00
jfs_metapage.c
jfs_metapage.h
jfs_mount.c jfs: port block device access to file 2024-02-25 12:05:26 +01:00
jfs_superblock.h
jfs_txnmgr.c jfs: Add missing set_freezable() for freezable kthread 2024-01-02 11:06:52 -06:00
jfs_txnmgr.h
jfs_types.h
jfs_umount.c
jfs_unicode.c
jfs_unicode.h fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
jfs_xattr.h jfs: move jfs_xattr_handlers to .rodata 2023-10-09 16:24:19 +02:00
jfs_xtree.c jfs: define xtree root and page independently 2023-10-13 10:39:25 -05:00
jfs_xtree.h jfs: define xtree root and page independently 2023-10-13 10:39:25 -05:00
namei.c jfs: convert to new timestamp accessors 2023-10-18 14:08:23 +02:00
resize.c
super.c \n 2024-03-13 14:30:58 -07:00
symlink.c
xattr.c jfs: move jfs_xattr_handlers to .rodata 2023-10-09 16:24:19 +02:00