aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/dlm/lock.c')
-rw-r--r--fs/dlm/lock.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 3f2befa4797b..6088a16926bf 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -3028,10 +3028,17 @@ int dlm_receive_message(struct dlm_header *hd, int nodeid, int recovery)
3028 3028
3029 while (1) { 3029 while (1) {
3030 if (dlm_locking_stopped(ls)) { 3030 if (dlm_locking_stopped(ls)) {
3031 if (!recovery) 3031 if (recovery) {
3032 dlm_add_requestqueue(ls, nodeid, hd); 3032 error = -EINTR;
3033 error = -EINTR; 3033 goto out;
3034 goto out; 3034 }
3035 error = dlm_add_requestqueue(ls, nodeid, hd);
3036 if (error == -EAGAIN)
3037 continue;
3038 else {
3039 error = -EINTR;
3040 goto out;
3041 }
3035 } 3042 }
3036 3043
3037 if (lock_recovery_try(ls)) 3044 if (lock_recovery_try(ls))