]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: EC Optimizations: Update pwlc in pg_info_t
authorBill Scales <bill_scales@uk.ibm.com>
Tue, 25 Mar 2025 17:41:57 +0000 (17:41 +0000)
committerAlex Ainscow <aainscow@uk.ibm.com>
Tue, 22 Apr 2025 07:04:24 +0000 (08:04 +0100)
commit886112b8136fb05b55be4906dbfd5a85c0db0d64
treef15baac852150a18b5755411d76ae112a3213bad
parentc5041a06ae5f43902f0e2bb38ab8a9f1b9475da9
osd: EC Optimizations: Update pwlc in pg_info_t

Optimized EC pools add extra data to the log entry to track
which shards were updated by a partial write. When the log
entry is completed this needs to be summarized in the
partial_writes_last_complete map in pg_info_t.

Summarising this data in pg_info_t makes it easy to determine
whether the reason a shard is behind is because it is missing
update or has just not been involved in recent updates. This
also ensures that even if there is a long sequence of
updates that all skip updating a shard that a record of this
is retained in the info structure even after the log
has been trimmed.

Edited by aainscow as suggested in comment here:
https://github.com/ceph/ceph/pull/62522/files#r2050803678

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
src/crimson/osd/pg.h
src/osd/PG.h
src/osd/PGBackend.cc
src/osd/PGBackend.h
src/osd/PGLog.cc
src/osd/PGLog.h
src/osd/PeeringState.cc
src/test/osd/TestPGLog.cc