struct rw_semaphore *rwsem,
bool shared)
{
- if (!debug_locks)
+ if (!debug_locks) {
+ if (!shared)
+ return rwsem_is_write_locked(rwsem);
return rwsem_is_locked(rwsem);
+ }
if (!shared)
return lockdep_is_held_type(rwsem, 0);
uint lock_flags)
{
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);
+ return __xfs_rwsem_islocked(&ip->i_lock.mr_lock,
+ (lock_flags & XFS_ILOCK_SHARED));
}
if (lock_flags & (XFS_MMAPLOCK_EXCL|XFS_MMAPLOCK_SHARED)) {