]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: EC Optimizations: Backfill changes for partial writes 62710/head
authorBill Scales <bill_scales@uk.ibm.com>
Thu, 3 Apr 2025 11:15:31 +0000 (12:15 +0100)
committerBill Scales <bill_scales@uk.ibm.com>
Thu, 10 Apr 2025 11:31:37 +0000 (12:31 +0100)
commitbabb801aa8603b971a5a8ea401d44f95116e108a
treebe4e5ab4fd70e885acc39ebd8f1a676614a3a0a9
parentedbce5fdd543b66775974ec7f80338f63099622b
osd: EC Optimizations: Backfill changes for partial writes

Optimized EC pools support partial writes that do not update every shard.
Consequently shards that are not updated can have out of date version
numbers. The primary shard object_info_t is always updated and tracks the
expected version of each shards. To avoid unnecessary backfill work changes
are required to use the extra data in the object_info_t when comparing version
numbers to work out whether a shard is missing updates or just didn't
participate in recent partial writes.

See comments in src/osd/recovery_types.h

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
15 files changed:
src/crimson/osd/CMakeLists.txt
src/crimson/osd/backfill_facades.h
src/crimson/osd/backfill_state.cc
src/crimson/osd/backfill_state.h
src/crimson/osd/pg_recovery.cc
src/crimson/osd/recovery_backend.cc
src/crimson/osd/recovery_backend.h
src/osd/CMakeLists.txt
src/osd/PG.h
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h
src/osd/recovery_types.cc [deleted file]
src/osd/recovery_types.h
src/test/crimson/CMakeLists.txt
src/test/crimson/test_backfill.cc