]> err.no Git - linux-2.6/commitdiff
[XFS] Fix regression due to refcache removal
authorLachlan McIlroy <lachlan@sgi.com>
Thu, 6 Mar 2008 02:43:27 +0000 (13:43 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 18 Apr 2008 01:37:06 +0000 (11:37 +1000)
SGI-PV: 971186
SGI-Modid: xfs-linux-melb:xfs-kern:30490a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Donald Douwsma <donaldd@sgi.com>
fs/xfs/xfs_vnodeops.c

index 35ac59dabf8bc126b80c64ebbc3abaf4627d6eff..40b95e3a88ba143c0972231eb4c49f0d842c6b56 100644 (file)
@@ -3437,7 +3437,9 @@ xfs_rwunlock(
 {
        if (S_ISDIR(ip->i_d.di_mode))
                return;
-       if (locktype != VRWLOCK_WRITE) {
+       if (locktype == VRWLOCK_WRITE) {
+               xfs_iunlock(ip, XFS_IOLOCK_EXCL);
+       } else {
                ASSERT((locktype == VRWLOCK_READ) ||
                       (locktype == VRWLOCK_WRITE_DIRECT));
                xfs_iunlock(ip, XFS_IOLOCK_SHARED);