ocfs2/dlm: return in progress if master can not clear the refmap bit right now
Master returns in-progress to non-master node when it can not clear the refmap bit right now. And non-master node will not purge the lock resource until receiving deref done message. Signed-off-by: xuejiufei <xuejiufei@huawei.com> Cc: Mark Fasheh <mfasheh@suse.de> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Reviewed-by: Joseph Qi <joseph.qi@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

gecommit door
Linus Torvalds

bovenliggende
60d663cb52
commit
842b90b624
@@ -202,6 +202,13 @@ static void dlm_purge_lockres(struct dlm_ctxt *dlm,
|
||||
dlm->purge_count--;
|
||||
}
|
||||
|
||||
if (!master && ret != 0) {
|
||||
mlog(0, "%s: deref %.*s in progress or master goes down\n",
|
||||
dlm->name, res->lockname.len, res->lockname.name);
|
||||
spin_unlock(&res->spinlock);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!__dlm_lockres_unused(res)) {
|
||||
mlog(ML_ERROR, "%s: res %.*s in use after deref\n",
|
||||
dlm->name, res->lockname.len, res->lockname.name);
|
||||
|
Verwijs in nieuw issue
Block a user