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