diff options
Diffstat (limited to 'fs/gfs2/file.c')
-rw-r--r-- | fs/gfs2/file.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index a6abbae8a278..e6dd2aec6f82 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c | |||
@@ -640,7 +640,7 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) | |||
640 | 640 | ||
641 | if (!(fl->fl_flags & FL_POSIX)) | 641 | if (!(fl->fl_flags & FL_POSIX)) |
642 | return -ENOLCK; | 642 | return -ENOLCK; |
643 | if (__mandatory_lock(&ip->i_inode)) | 643 | if (__mandatory_lock(&ip->i_inode) && fl->fl_type != F_UNLCK) |
644 | return -ENOLCK; | 644 | return -ENOLCK; |
645 | 645 | ||
646 | if (cmd == F_CANCELLK) { | 646 | if (cmd == F_CANCELLK) { |