diff options
author | Kurt Hackel <kurt.hackel@oracle.com> | 2007-01-05 18:02:30 -0500 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-02-07 15:01:49 -0500 |
commit | 71ac1062435ba2d58bf64817b47a6e44f316752e (patch) | |
tree | d28d47f38aafebe54d926d13c20588d92e1ef466 /fs | |
parent | ddc09c8ddac8d0f170ba8caa8128801f358dccff (diff) |
ocfs2_dlm: Make dlmunlock() wait for migration to complete
dlmunlock() was not waiting for migration to complete before releasing locks
on locally mastered locks.
Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Sunil Mushran <Sunil.Mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/dlm/dlmrecovery.c | 1 | ||||
-rw-r--r-- | fs/ocfs2/dlm/dlmunlock.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c index d011a2a2274..3057b65a4b8 100644 --- a/fs/ocfs2/dlm/dlmrecovery.c +++ b/fs/ocfs2/dlm/dlmrecovery.c | |||
@@ -1763,6 +1763,7 @@ static int dlm_process_recovery_data(struct dlm_ctxt *dlm, | |||
1763 | "with cookie %u:%llu!\n", | 1763 | "with cookie %u:%llu!\n", |
1764 | dlm_get_lock_cookie_node(c), | 1764 | dlm_get_lock_cookie_node(c), |
1765 | dlm_get_lock_cookie_seq(c)); | 1765 | dlm_get_lock_cookie_seq(c)); |
1766 | __dlm_print_one_lock_resource(res); | ||
1766 | BUG(); | 1767 | BUG(); |
1767 | } | 1768 | } |
1768 | BUG_ON(lock->ml.node != ml->node); | 1769 | BUG_ON(lock->ml.node != ml->node); |
diff --git a/fs/ocfs2/dlm/dlmunlock.c b/fs/ocfs2/dlm/dlmunlock.c index 37be4b2e0d4..3c8a250fcfe 100644 --- a/fs/ocfs2/dlm/dlmunlock.c +++ b/fs/ocfs2/dlm/dlmunlock.c | |||
@@ -147,6 +147,10 @@ static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm, | |||
147 | goto leave; | 147 | goto leave; |
148 | } | 148 | } |
149 | 149 | ||
150 | if (res->state & DLM_LOCK_RES_MIGRATING) { | ||
151 | status = DLM_MIGRATING; | ||
152 | goto leave; | ||
153 | } | ||
150 | 154 | ||
151 | /* see above for what the spec says about | 155 | /* see above for what the spec says about |
152 | * LKM_CANCEL and the lock queue state */ | 156 | * LKM_CANCEL and the lock queue state */ |