diff --git a/[refs] b/[refs] index 0c6b52fe104a..5247790f0f41 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6f029130fb83b36fb709a187275b0494035d689 +refs/heads/master: 0800c5f7a499a8961c3868e95cc4cf1715166457 diff --git a/trunk/fs/nfs/file.c b/trunk/fs/nfs/file.c index eb5cd4c3bbfd..7a79fbe9f539 100644 --- a/trunk/fs/nfs/file.c +++ b/trunk/fs/nfs/file.c @@ -509,7 +509,8 @@ static int nfs_lock(struct file *filp, int cmd, struct file_lock *fl) return -EINVAL; /* No mandatory locks over NFS */ - if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID) + if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID && + fl->fl_type != F_UNLCK) return -ENOLCK; if (IS_GETLK(cmd))