diff options
author | Xuehan Xu <xuxuehan@qianxin.com> | 2024-07-12 12:14:53 +0200 |
---|---|---|
committer | Xuehan Xu <xuxuehan@qianxin.com> | 2024-07-17 06:36:01 +0200 |
commit | d56779e521c8e6af0dff92186a20884f945759ef (patch) | |
tree | 1a633c8482f239aef0226bfbbd3bf80d795dc076 /src/SimpleRADOSStriper.cc | |
parent | Merge pull request #58386 from YiteGu/dashboard-rename-api (diff) | |
download | ceph-d56779e521c8e6af0dff92186a20884f945759ef.tar.xz ceph-d56779e521c8e6af0dff92186a20884f945759ef.zip |
crimson/os/seastore/transaction_manager: consider inconsistency between
backrefs and lbas acceptable when cleaning segments
Consider the following scene:
1. Trans.A writes the final record of Segment S, in which it overwrite
another extent E in the same segment S;
2. Before Trans.A "complete_commit", Trans.B tries to rewrite new
records and roll the segments, which closes Segment S;
3. Before Trans.A "complete_commit", a new cleaner Transaction C tries
to clean the segment;
In this scenario, C might see a part of extent E's laddr space mapped
to another location within the same segment S. This is actually a valid
case.
Fixes: https://tracker.ceph.com/issues/66924
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
Diffstat (limited to 'src/SimpleRADOSStriper.cc')
0 files changed, 0 insertions, 0 deletions