From 7d2ee520983a765c479ab57a163349f4dc0bd5ed Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Thu, 14 Mar 2013 15:49:59 +0000 Subject: [PATCH] --- yaml --- r: 362253 b: refs/heads/master c: c2952d202f710d326ac36a8ea6bd216b20615ec8 h: refs/heads/master i: 362251: 2002086c7efde4037d4534d788c23e7395efcca0 v: v3 --- [refs] | 2 +- trunk/fs/gfs2/file.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7f53440d43ef..28209263263e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 441362d06be349430d06e37286adce4b90e6ce96 +refs/heads/master: c2952d202f710d326ac36a8ea6bd216b20615ec8 diff --git a/trunk/fs/gfs2/file.c b/trunk/fs/gfs2/file.c index 019f45e45097..d79c2dadc536 100644 --- a/trunk/fs/gfs2/file.c +++ b/trunk/fs/gfs2/file.c @@ -923,8 +923,11 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) cmd = F_SETLK; fl->fl_type = F_UNLCK; } - if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) + if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) { + if (fl->fl_type == F_UNLCK) + posix_lock_file_wait(file, fl); return -EIO; + } if (IS_GETLK(cmd)) return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl); else if (fl->fl_type == F_UNLCK)