linux/fs/ceph
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
..
acl.c fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
addr.c ceph: fix blindly expanding the readahead windows 2023-06-30 12:08:55 +02:00
cache.c netfs: Fix gcc-12 warning by embedding vfs inode in netfs_i_context 2022-06-09 13:55:00 -07:00
cache.h netfs: Further cleanups after struct netfs_inode wrapper introduced 2022-06-10 20:55:21 +01:00
caps.c ceph: don't let check_caps skip sending responses for revoke msgs 2023-06-30 12:08:55 +02:00
ceph_frag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c ceph: fix potential use-after-free bug when trimming caps 2023-04-30 12:37:28 +02:00
dir.c vfs: get rid of old '->iterate' directory operation 2023-08-06 15:08:35 +02:00
export.c ceph: fail the open_by_handle_at() if the dentry is being unlinked 2022-10-04 19:18:08 +02:00
file.c A bunch of CephFS fixups from Xiubo, mostly around dropping caps, along 2023-07-07 15:07:20 -07:00
inode.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
io.c ceph: fix kerneldoc copypasta over ceph_start_io_direct 2021-04-27 23:52:23 +02:00
io.h ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
ioctl.c ceph: remove useless session parameter for check_caps() 2022-12-12 19:15:39 +01:00
ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
locks.c filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
mds_client.c ceph: defer stopping mdsc delayed_work 2023-08-02 00:13:02 +02:00
mds_client.h ceph: defer stopping mdsc delayed_work 2023-08-02 00:13:02 +02:00
mdsmap.c treewide: use get_random_u32_below() instead of deprecated function 2022-11-18 02:15:15 +01:00
metric.c ceph: never send metrics if disable_send_metrics is set 2023-07-24 13:15:39 +02:00
metric.h ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
quota.c ceph: fix statfs for subdir mounts 2022-05-25 20:45:14 +02:00
snap.c ceph: trigger to flush the buffer when making snapshot 2023-06-30 12:08:55 +02:00
strings.c ceph: add getvxattr op 2022-03-01 18:26:37 +01:00
super.c ceph: defer stopping mdsc delayed_work 2023-08-02 00:13:02 +02:00
super.h ceph: add a dedicated private data for netfs rreq 2023-06-30 12:08:55 +02:00
util.c ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c 2020-01-27 16:53:40 +01:00
xattr.c A few filesystem improvements, with a rather nasty use-after-free fix 2023-05-04 14:48:02 -07:00