• Linus Torvalds's avatar
    vfs: get rid of old '->iterate' directory operation · 3e327154
    Linus Torvalds authored
    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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    3e327154
file.c 70 KB