linux-mainline/fs/ocfs2
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
..
cluster Networking changes for 6.5. 2023-06-28 16:43:10 -07:00
dlm
dlmfs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
acl.c fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
alloc.c
alloc.h
aops.c legacy direct-io cleanup 2023-04-24 19:28:49 -07:00
aops.h
blockcheck.c
blockcheck.h
buffer_head_io.c
buffer_head_io.h
dcache.c
dcache.h
dir.c
dir.h
dlmglue.c
dlmglue.h
export.c
export.h
extent_map.c
extent_map.h
file.c vfs: get rid of old '->iterate' directory operation 2023-08-06 15:08:35 +02:00
file.h fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
filecheck.c
filecheck.h
heartbeat.c
heartbeat.h
inode.c
inode.h
ioctl.c ocfs2: reduce ioctl stack usage 2023-04-21 14:54:34 -07:00
ioctl.h fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
journal.c ocfs2: use filemap_fdatawrite_wbc instead of generic_writepages 2023-01-18 17:12:51 -08:00
journal.h
Kconfig docs: update ocfs2-devel mailing list address 2023-07-08 09:29:29 -07:00
localalloc.c ocfs2: remove redundant assignment to variable bit_off 2023-06-23 17:04:04 -07:00
localalloc.h
locks.c filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
locks.h
Makefile
mmap.c
mmap.h
move_extents.c ocfs2: fix non-auto defrag path not working issue 2023-02-27 17:00:15 -08:00
move_extents.h
namei.c ocfs2: Switch to security_inode_init_security() 2023-03-23 19:35:33 -04:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h
ocfs2_ioctl.h
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2_trace.h - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in 2023-06-28 10:59:38 -07:00
ocfs2.h
quota_global.c
quota_local.c ocfs2: correct return value of ocfs2_local_free_info() 2023-06-09 17:44:22 -07:00
quota.h
refcounttree.c ocfs2: don't use write_one_page in ocfs2_duplicate_clusters_by_page 2023-03-12 20:00:41 -04:00
refcounttree.h
reservations.c
reservations.h
resize.c
resize.h
slot_map.c
slot_map.h
stack_o2cb.c
stack_user.c filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
stackglue.c
stackglue.h
suballoc.c
suballoc.h
super.c ocfs2: fix use-after-free when unmounting read-only filesystem 2023-06-12 11:31:51 -07:00
super.h
symlink.c
symlink.h
sysfile.c
sysfile.h
uptodate.c
uptodate.h
xattr.c v6.4/vfs.acl 2023-04-24 13:35:23 -07:00
xattr.h