]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: fix bluefs log runway enospc 57241/head
authorPere Diaz Bou <pere-altea@hotmail.com>
Tue, 25 Jul 2023 15:28:14 +0000 (17:28 +0200)
committersajibreadd <sajibreadd@gmail.com>
Tue, 3 Sep 2024 07:05:22 +0000 (13:05 +0600)
commitd5a50859d824994e13731230997af9d9b2e231db
tree6ab73bb151f98c07e0b0ad20864829885ab075b3
parent79f7593a519e9b00e783b073ec7c2c29748a2576
os/bluestore: fix bluefs log runway enospc

With these changes, every call to log compaction will try to expand its
runway in case of insufficient log space. async compaction will ignore
the `log_forbidden_to_expand` atomic since we know it should't be
harmful. In any other case, expansion of log will wait until compaction
is completed.

in order to ensure op_file_update_inc fits on disk we increase the size
of logs as previously used in _maybe_extend_log. This means we too bring
back _maybe_extend_log with a different usage.

_maybe_extend_log increases the size of the log if the runway is less
than the min runway and if the current transaction is too big to fit.

Fixes: https://tracker.ceph.com/issues/58759
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
(cherry picked from commit e97aa857c241a9694871de3d3a4079c4d9a120d3)

Conflicts:
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.cc
src/os/bluestore/BlueFS.h
src/os/bluestore/bluefs_types.cc
src/os/bluestore/bluefs_types.h
src/test/objectstore/test_bluefs.cc