]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore/bluefs: Fix sync compaction 45246/head
authorAdam Kupczyk <akupczyk@redhat.com>
Mon, 7 Mar 2022 18:51:49 +0000 (19:51 +0100)
committerAdam Kupczyk <akupczyk@redhat.com>
Mon, 7 Mar 2022 19:11:44 +0000 (20:11 +0100)
commit1ab69d86ea1702b3da8ccb8b0670acc412a9e57f
tree7c7ab377f056476a90addb880f487b554a81d6d6
parent40160365f344ebfb43173a5366015ac4cdb7a3fe
os/bluestore/bluefs: Fix sync compaction

Fixes problem with sync compaction (_rewrite_log_and_layout_sync).
There was a problem with not updating log_seq after compacting log.

It cause to stop _replay log right after first transaction.

... 20 bluefs _replay 0x0:  op_dir_create sharding
... 20 bluefs _replay 0x0:  op_dir_link  sharding/def to 21
... 20 bluefs _replay 0x0:  op_jump_seq 1025
... 10 bluefs _read h 0x555557c46400 0x1000~1000 from file(ino 1 size 0x1000 mtime 0.000000 allocated 410000 alloc_commit 410000 extents [1:0x1540000~410000])
... 20 bluefs _read left 0xff000 len 0x1000
... 20 bluefs _read got 4096
... 10 bluefs _replay 0x1000: stop: seq 1025 != expected 1026

This is a product of bluefs fine grain locks refactor.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
src/os/bluestore/BlueFS.cc