This series removes mrlock_t and directly replaces i_lock and i_mmaplock with rw_semaphore in xfs_inode. My end game with this is to eventually lift i_mmaplock in VFS and use it from there. The necessity for the latter came up since BTRFS is also about to get its own private version of i_mmaplock for the same use case. This will mean that all 3 major filesystems on linux (ext4/xfs/btrfs) wil share the same lock. Christoph naturally suggested for the lock to be lifted to VFS. Before proceeding with this work I'd like to get the opinion of XFS developers whether doing that is acceptable for them. I've heard that Dave wants to eventually convert the mmapsem to a range lock for XFS and implement a callback mechanism for VFS to call into every filesystem... I've only compile tested this and also the way the rwsem is checked for write is admittedly a bit hackish but it can easily be changed to utilize lockdep. I'm aware of https://lore.kernel.org/linux-xfs/20201102194135.174806-1-preichl@xxxxxxxxxx/ but frankly that series went too far up to rev 10 which is a bit mind boggling... Nikolay Borisov (3): xfs: Add is_rwsem_write_locked function xfs: Convert i_lock/i_mmaplock to rw_semaphore xfs: Remove mrlock fs/xfs/mrlock.h | 78 ---------------------------------------- fs/xfs/xfs_inode.c | 48 ++++++++++++++----------- fs/xfs/xfs_inode.h | 6 ++-- fs/xfs/xfs_linux.h | 1 - fs/xfs/xfs_qm_syscalls.c | 2 +- fs/xfs/xfs_super.c | 7 ++-- 6 files changed, 34 insertions(+), 108 deletions(-) delete mode 100644 fs/xfs/mrlock.h -- 2.25.1