diff options
author | Kurt Hackel <kurt.hackel@oracle.com> | 2007-01-05 15:02:30 -0800 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-02-07 12:01:49 -0800 |
commit | 71ac1062435ba2d58bf64817b47a6e44f316752e (patch) | |
tree | d28d47f38aafebe54d926d13c20588d92e1ef466 /fs/ocfs2/dlm/dlmunlock.c | |
parent | ddc09c8ddac8d0f170ba8caa8128801f358dccff (diff) | |
download | lwn-71ac1062435ba2d58bf64817b47a6e44f316752e.tar.gz lwn-71ac1062435ba2d58bf64817b47a6e44f316752e.zip |
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/ocfs2/dlm/dlmunlock.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmunlock.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmunlock.c b/fs/ocfs2/dlm/dlmunlock.c index 37be4b2e0d4a..3c8a250fcfec 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, goto leave; } + if (res->state & DLM_LOCK_RES_MIGRATING) { + status = DLM_MIGRATING; + goto leave; + } /* see above for what the spec says about * LKM_CANCEL and the lock queue state */ |