OpenCloudOS-Kernel/fs/coda
Linus Torvalds 3e32715496
vfs: get rid of old '->iterate' directory operation
All users now just use '->iterate_shared()', which only takes the
directory inode lock for reading.

Filesystems that never got convered to shared mode now instead use a
wrapper that drops the lock, re-takes it in write mode, calls the old
function, and then downgrades the lock back to read mode.

This way the VFS layer and other callers no longer need to care about
filesystems that never got converted to the modern era.

The filesystems that use the new wrapper are ceph, coda, exfat, jfs,
ntfs, ocfs2, overlayfs, and vboxsf.

Honestly, several of them look like they really could just iterate their
directories in shared mode and skip the wrapper entirely, but the point
of this change is to not change semantics or fix filesystems that
haven't been fixed in the last 7+ years, but to finally get rid of the
dual iterators.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-08-06 15:08:35 +02:00
..
Kconfig docs: filesystems: convert coda.txt to ReST 2020-05-05 09:22:21 -06:00
Makefile coda: remove sysctl object from module when unused 2019-07-16 19:23:23 -07:00
cache.c coda: move internal defs out of include/linux/ [ver #2] 2019-07-16 19:23:23 -07:00
cnode.c coda: avoid doing bad things on inode type changes during revalidation 2021-11-09 10:02:51 -08:00
coda_cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
coda_fs_i.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
coda_int.h coda: remove sysctl object from module when unused 2019-07-16 19:23:23 -07:00
coda_linux.c coda: avoid doing bad things on inode type changes during revalidation 2021-11-09 10:02:51 -08:00
coda_linux.h fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
coda_psdev.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
dir.c vfs: get rid of old '->iterate' directory operation 2023-08-06 15:08:35 +02:00
file.c coda: Implement splice-read 2023-05-24 08:42:16 -06:00
inode.c fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
pioctl.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
psdev.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
symlink.c coda: Convert coda_symlink_filler() to use a folio 2022-08-02 12:34:03 -04:00
sysctl.c coda: simplify one-level sysctl registration for coda_table 2023-04-13 11:49:35 -07:00
upcall.c coda: Avoid partial allocation of sig_inputArgs 2023-02-08 15:26:58 -08:00