Message ID | 5a20851e.upbuwraIKYxYTZhm%akpm@linux-foundation.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff -puN fs/ocfs2/cluster/quorum.c~ocfs2-fix-qs_holds-may-could-not-be-zero fs/ocfs2/cluster/quorum.c --- a/fs/ocfs2/cluster/quorum.c~ocfs2-fix-qs_holds-may-could-not-be-zero +++ a/fs/ocfs2/cluster/quorum.c @@ -314,13 +314,16 @@ void o2quo_conn_err(u8 node) node, qs->qs_connected); clear_bit(node, qs->qs_conn_bm); + /* + * Bring set hold within this judgement, in order to avoid + * qs_hold could not be zero. + */ + if (test_bit(node, qs->qs_hb_bm)) + o2quo_set_hold(qs, node); } mlog(0, "node %u, %d total\n", node, qs->qs_connected); - if (test_bit(node, qs->qs_hb_bm)) - o2quo_set_hold(qs, node); - spin_unlock(&qs->qs_lock); }