]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: wake pgs_creating waiters in PGMap::pg_loaded() 69019/head
authorKefu Chai <k.chai@proxmox.com>
Wed, 20 May 2026 02:22:24 +0000 (10:22 +0800)
committerKefu Chai <k.chai@proxmox.com>
Wed, 20 May 2026 11:29:48 +0000 (19:29 +0800)
commitdf3e1e635238c90a5242c5334abd8e5eed28b8a0
tree9545138b49bbe1247722ab144ef8cda091b63152
parent4d15f1ce0650d41c7291d2e843751b4fe3854869
crimson/osd: wake pgs_creating waiters in PGMap::pg_loaded()

wait_for_pg() parks callers on pgs_creating[pgid] when the PG isn't in
pgs yet.  pg_created() wakes those waiters; pg_loaded() didn't.  An op
that races ahead of a PG load hangs indefinitely at CreateOrWaitPG.

Add the symmetric wake-up in pg_loaded() with a conditional find --
unlike pg_created(), a loaded PG may have no waiters at all.

See-also: e6c6de335b6a
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/crimson/osd/pg_map.cc