os/bluestore: prepend compacted BlueFS log with a starter part.
The rationale is to have initial log fnode after compaction small
enough to fit into 4K superblock. Without that compacted metadata might
require fnode longer than 4K which goes beyond existing 4K
superblock. BlueFS assert in this case for now.
Hence the resulting log allocation disposition is like:
- superblock(4K) keeps initial log fnode which refers:
op_init, op_update_inc(log), op_jump(next seq)
- updated log fnode built from superblock + above op_update_inc refers:
compacted meta (a bunch of op_update and others)
- *
- more op_update_inc(log) to follow if log is extended
- *
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit
b65c780a3b524a44d0f860b0edda3baaac13c539)