[PATCH] ocfs2: Skip check for mandatory locks when unlocking

From: Neil Brown
Date: Tue Mar 23 2010 - 04:54:46 EST



The nfs bug fixed by 0800c5f7a499a8961c3868e95cc4cf1715166457
and the 9p bug fixed by f78233dd44a110c574fe760ad6f9c1e8741a0d00
and the gfs2 bug fixed by 720e7749279bde0d08684b1bb4e7a2eedeec6394

also needs to be fixed for ocfs2. This patch does that.

Hopefully this is the last filesystem with this bug :-)

Signed-off-by: NeilBrown <neilb@xxxxxxx>
Cc: stable@xxxxxxxxxx

diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c
index 544ac62..923d3d8 100644
--- a/fs/ocfs2/locks.c
+++ b/fs/ocfs2/locks.c
@@ -113,7 +113,8 @@ int ocfs2_flock(struct file *file, int cmd, struct file_lock *fl)

if (!(fl->fl_flags & FL_FLOCK))
return -ENOLCK;
- if (__mandatory_lock(inode))
+ if (__mandatory_lock(inode) &&
+ fl->fl_type != F_UNLCK)
return -ENOLCK;

if ((osb->s_mount_opt & OCFS2_MOUNT_LOCALFLOCKS) ||
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/