diff options
Diffstat (limited to 'fs/gfs2/ops_file.c')
-rw-r--r-- | fs/gfs2/ops_file.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c index 48b248d7c823..329c4dcdecdb 100644 --- a/fs/gfs2/ops_file.c +++ b/fs/gfs2/ops_file.c | |||
@@ -520,6 +520,11 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) | |||
520 | } | 520 | } |
521 | } | 521 | } |
522 | 522 | ||
523 | if (cmd == F_CANCELLK) { | ||
524 | /* Hack: */ | ||
525 | cmd = F_SETLK; | ||
526 | fl->fl_type = F_UNLCK; | ||
527 | } | ||
523 | if (IS_GETLK(cmd)) | 528 | if (IS_GETLK(cmd)) |
524 | return gfs2_lm_plock_get(sdp, &name, file, fl); | 529 | return gfs2_lm_plock_get(sdp, &name, file, fl); |
525 | else if (fl->fl_type == F_UNLCK) | 530 | else if (fl->fl_type == F_UNLCK) |