osd: Roll back unstable writes of removed pools in the old store #106

Open
koolkhel wants to merge 1 commits from koolkhel/vitastor:removed-pools-v1 into master

1 Commits

Author SHA1 Message Date
c216e4929f osd: Roll back unstable writes of removed pools in the old store
Nothing stabilizes or rolls back unstable writes of a removed pool, its
PGs are never peered again. The old store can't trim its journal past
them, so the journal fills up and writes to all other pools on the same
OSDs fail with -EAGAIN forever, restarts don't help.

Add a synchronous get_unstable_objects() which walks dirty_db of the old
store, and roll back unstable writes of removed pools with it. The OSD
only picks up a pool when it disappears from the pool configuration, or
on start when the store has unstable writes of a pool that doesn't
exist, and lists the store once the pool's PGs are removed and stopped.
The new store keeps such writes in its metadata without harm, so the
OSD does nothing for it.
2026-10-28 12:24:46 +03:00