]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore/epm: Verify available segments on mkfs/mount
authorMatan Breizman <mbreizma@redhat.com>
Mon, 22 Sep 2025 11:51:21 +0000 (11:51 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 29 Sep 2025 11:18:53 +0000 (11:18 +0000)
commit826dc6548f813b8df96e5ffa46caf8062d1d124f
tree7e99d64b5d5c22af1774b75fe2f0d1cceb11367c
parentbb6d9585c4247f17e53e13bab579cf2ed71f9595
crimson/os/seastore/epm: Verify available segments on mkfs/mount

First addressed by 3b9632696a5e0b4e02c8ac32ba8ab8b00ee7a005.
However, the mentioned commit should also
consider veryfing available empty segment num when mounting.

When mounting (Both for store mkfs/mount) the (Segmented) AsyncCleaner:
1) Mark all previous OPEN segemnts as closed (See: init_closed)
2) Open/Allocate EMPTY segments to all new writers
3) Run background segments cleaner

Meaning, all previously OPEN segments would be
closed when moutning *before* the cleaner could start running.

Since we don't actually wait/block segments openings
same as we would on runtime IOs -
With limited device sizes, this could result in not enough empty
segments to open.

Fixes: https://tracker.ceph.com/issues/72484
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/extent_placement_manager.cc