]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore/onode_manager: populate value recorders of onodes to 53966/head
authorXuehan Xu <xuxuehan@qianxin.com>
Wed, 6 Sep 2023 06:56:51 +0000 (14:56 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 22 Oct 2023 08:33:42 +0000 (08:33 +0000)
commit042f21d6db78a693c1eee484c589201bfe2a8309
treec5b50f1bd08caf9ad1ba534eb878dca7acf51cc1
parent76bdf65f1b95e4d35b7bd1049d0d9bd6f3215c3b
crimson/os/seastore/onode_manager: populate value recorders of onodes to
be erased

Otherwise, the following modification sequence with the same transaction
might lead to onode extents' crc inconsistency during journal replay:

1. modify the last mapping in an onode extent;
2. erase the last mapping in that onode extent.

During journal replay, if the first modification is not recorded in the
delta, the onode extent's content would be inconsistent with that before
the system reboot

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 6c236bb63a9a49c7f9e2dab03a5fe0bb016560f0)
src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc