diff --git a/fs/xfs/scrub/scrub.c b/fs/xfs/scrub/scrub.c index 0ed2a123cbb855ce1aed1dcdd153453ed01abea2..26c75967a0724f23966c8b80df7f06455193c6e4 100644 --- a/fs/xfs/scrub/scrub.c +++ b/fs/xfs/scrub/scrub.c @@ -159,7 +159,8 @@ xfs_scrub_teardown( sc->tp = NULL; } if (sc->ip) { - xfs_iunlock(sc->ip, sc->ilock_flags); + if (sc->ilock_flags) + xfs_iunlock(sc->ip, sc->ilock_flags); if (sc->ip != ip_in && !xfs_internal_inum(sc->mp, sc->ip->i_ino)) iput(VFS_I(sc->ip));