Re: ceph: don't unregister an MDS session before removing its caps

Alex Markuze <[email protected]>
Newsgroups org.kernel.vger.ceph-devel
Message-ID <[email protected]>
Hi Max,

Deferring unregister until after remove_session_caps() is the right fix
for the BUG_ON. One gap though: check_new_map() wasn't updated for the
new invariant. A CLOSED session now stays in mdsc->sessions[], but that
loop still treats a registered session as live — on a rank failover it
can overwrite CLOSED with RESTARTING and call send_mds_reconnect() on a
dying object, or in the export-target path treat the occupied slot as
"no session" and fail to open a replacement.

The fix: in check_new_map(), skip CLOSED sessions the same way you skip
NULL slots.

Could you respin?

--
Alex Markuze
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.