Loading fs/xfs/xfs_iget.c +10 −16 Original line number Diff line number Diff line Loading @@ -741,30 +741,24 @@ xfs_ilock_demote( } #ifdef DEBUG /* * Debug-only routine, without additional rw_semaphore APIs, we can * now only answer requests regarding whether we hold the lock for write * (reader state is outside our visibility, we only track writer state). * * Note: this means !xfs_isilocked would give false positives, so don't do that. */ int xfs_isilocked( xfs_inode_t *ip, uint lock_flags) { if ((lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) == XFS_ILOCK_EXCL) { if (!ip->i_lock.mr_writer) return 0; if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { if (!(lock_flags & XFS_ILOCK_SHARED)) return !!ip->i_lock.mr_writer; return rwsem_is_locked(&ip->i_lock.mr_lock); } if ((lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) == XFS_IOLOCK_EXCL) { if (!ip->i_iolock.mr_writer) return 0; if (lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) { if (!(lock_flags & XFS_IOLOCK_SHARED)) return !!ip->i_iolock.mr_writer; return rwsem_is_locked(&ip->i_iolock.mr_lock); } return 1; ASSERT(0); return 0; } #endif Loading
fs/xfs/xfs_iget.c +10 −16 Original line number Diff line number Diff line Loading @@ -741,30 +741,24 @@ xfs_ilock_demote( } #ifdef DEBUG /* * Debug-only routine, without additional rw_semaphore APIs, we can * now only answer requests regarding whether we hold the lock for write * (reader state is outside our visibility, we only track writer state). * * Note: this means !xfs_isilocked would give false positives, so don't do that. */ int xfs_isilocked( xfs_inode_t *ip, uint lock_flags) { if ((lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) == XFS_ILOCK_EXCL) { if (!ip->i_lock.mr_writer) return 0; if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { if (!(lock_flags & XFS_ILOCK_SHARED)) return !!ip->i_lock.mr_writer; return rwsem_is_locked(&ip->i_lock.mr_lock); } if ((lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) == XFS_IOLOCK_EXCL) { if (!ip->i_iolock.mr_writer) return 0; if (lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) { if (!(lock_flags & XFS_IOLOCK_SHARED)) return !!ip->i_iolock.mr_writer; return rwsem_is_locked(&ip->i_iolock.mr_lock); } return 1; ASSERT(0); return 0; } #endif