Re: [PATCH 0/2] ocfs2: harden heartbeat teardown races

Cen Zhang <[email protected]> Mon, 6 Jul 2026 16:56:57 +0800
Newsgroups dev.linux.lists.ocfs2-devel,org.kernel.vger.linux-kernel
Message-ID <CAFRLqsW4URbUTjiFEqM-xqDxoArt1gCzLgL+Pes0CY98jfycjg@mail.gmail.com>
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 <[email protected]> 于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