Re: [PATCH 0/2] ocfs2: harden heartbeat teardown races
From: Cen Zhang
Date: Mon Jul 06 2026 - 05:23:54 EST
Hi Joseph,
Gentle ping on this series.
This is based on the earlier patch that has been queued in Andrew's
-mm tree, and it fixes two OCFS2 heartbeat/o2net teardown races found
by KASAN.
Please let me know if there are any comments or if I should make any changes.
Best regards,
Cen Zhang
Cen Zhang <zzzccc427@xxxxxxxxx> 于2026年6月24日周三 17:53写道:
>
> Hi,
>
> This series fixes two OCFS2 heartbeat/o2net teardown races found by
> KASAN.
>
> This series is based on my earlier patch:
>
> [PATCH v2] ocfs2/cluster: keep heartbeat local node stable
>
> That patch has been queued in Andrew's -mm tree as:
>
> ocfs2-cluster-keep-heartbeat-local-node-stable.patch
>
> It is needed as the base because this series uses the stable per-region
> heartbeat node number from that patch instead of re-reading
> o2nm_this_node() during teardown.
>
> Patch 1 stops heartbeat callbacks from queuing o2net reconnect and
> disconnect work after local o2net teardown has started, while still
> keeping the callbacks registered for quorum state.
>
> Patch 2 keeps a heartbeat region non-armable while it is starting or
> stopping, unregisters negotiate handlers before tearing down state they
> can reach, and waits for the active or destroying o2net ordered
> workqueue before freeing the region.
>
> Thanks,
> Cen
>
> Cen Zhang (2):
> ocfs2: synchronize heartbeat callbacks with o2net teardown
> ocfs2: o2hb: quiesce negotiate handlers and timeout work
>
> fs/ocfs2/cluster/heartbeat.c | 99 ++++++++++++++----
> fs/ocfs2/cluster/heartbeat.h | 5 +
> fs/ocfs2/cluster/nodemanager.c | 4 +
> fs/ocfs2/cluster/tcp.c | 186 +++++++++++++++++++++++++++------
> fs/ocfs2/cluster/tcp.h | 2 +
> 5 files changed, 247 insertions(+), 49 deletions(-)
>
> --
> 2.43.0