linux-stable/fs/f2fs
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 fs: add CONFIG_BUFFER_HEAD 2023-08-02 09:13:09 -06:00
Makefile
acl.c fs: port i_{g,u}id_into_vfs{g,u}id() to mnt_idmap 2023-01-19 09:24:29 +01:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
checkpoint.c f2fs: unify the error handling of f2fs_is_valid_blkaddr 2024-03-12 18:25:17 -07:00
compress.c f2fs: ro: compress: fix to avoid caching unaligned extent 2024-03-04 09:51:52 -08:00
data.c f2fs: unify the error handling of f2fs_is_valid_blkaddr 2024-03-12 18:25:17 -07:00
debug.c f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanup 2024-03-04 10:18:26 -08:00
dir.c f2fs: fix to create selinux label during whiteout initialization 2024-02-27 09:41:14 -08:00
extent_cache.c f2fs: unify the error handling of f2fs_is_valid_blkaddr 2024-03-12 18:25:17 -07:00
f2fs.h f2fs update for 6.9-rc1 2024-03-18 11:26:00 -07:00
file.c f2fs: fix to avoid use-after-free issue in f2fs_filemap_fault 2024-03-14 09:14:53 -07:00
gc.c f2fs: fix to handle error paths of {new,change}_curseg() 2024-03-12 18:25:17 -07:00
gc.h f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanup 2024-03-04 10:18:26 -08:00
hash.c
inline.c f2fs: convert to new timestamp accessors 2023-10-18 13:26:22 +02:00
inode.c f2fs update for 6.8-rc1 2024-01-11 20:39:15 -08:00
iostat.c f2fs: add async reset zone command support 2023-06-12 13:04:09 -07:00
iostat.h f2fs: use iostat_lat_type directly as a parameter in the iostat_update_and_unbind_ctx() 2023-02-07 10:39:28 -08:00
namei.c f2fs update for 6.9-rc1 2024-03-18 11:26:00 -07:00
node.c f2fs: ro: compress: fix to avoid caching unaligned extent 2024-03-04 09:51:52 -08:00
node.h f2fs: use BLKS_PER_SEG, BLKS_PER_SEC, and SEGS_PER_SEC 2024-02-27 09:41:12 -08:00
recovery.c f2fs: unify the error handling of f2fs_is_valid_blkaddr 2024-03-12 18:25:17 -07:00
segment.c f2fs update for 6.9-rc1 2024-03-18 11:26:00 -07:00
segment.h f2fs: introduce SEGS_TO_BLKS/BLKS_TO_SEGS for cleanup 2024-03-04 10:18:26 -08:00
shrinker.c f2fs: add block_age-based extent cache 2022-12-12 14:53:56 -08:00
super.c fs,block: yield devices early 2024-03-27 13:17:15 +01:00
sysfs.c f2fs: add a proc entry show disk layout 2024-03-06 09:43:26 -08:00
verity.c f2fs: Use folio in f2fs_read_merkle_tree_page 2024-02-27 09:41:15 -08:00
xattr.c f2fs: fix to check return value of f2fs_recover_xattr_data 2023-12-15 15:09:17 -08:00
xattr.h f2fs: move f2fs_xattr_handlers and f2fs_xattr_handler_map to .rodata 2023-10-09 16:24:18 +02:00