]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: EC optimizations: add shard_versions to object_info_t 62451/head
authorBill Scales <156200352+bill-scales@users.noreply.github.com>
Thu, 6 Mar 2025 09:44:00 +0000 (09:44 +0000)
committerBill Scales <bill_scales@uk.ibm.com>
Mon, 7 Apr 2025 14:00:55 +0000 (15:00 +0100)
commit88ac6d938ff28041d92b8ce828e59cd08a791387
tree318764462e77957563e800bfcee9b890ba571dca
parent71702bf44fdace0387e10872af3650da2f8fda8e
osd: EC optimizations: add shard_versions to object_info_t

EC optimized pools do not always update every shard for every write I/O,
this includes not updating the object_info_t (OI attribute). This means
different shards can have OI indicaiting the object is at different
versions. When an I/O updates a subset of the shards, the OI for the
updated shards will record the old version number for the unmodified
shards in the shard_versions map. The latest OI therefore has a record
of the expected version number for all the shards which can be used to
work out what needs to be backfilled.

An empty shard_versions map imples that the OI attribute should be the
same on all shards.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
src/osd/osd_types.cc
src/osd/osd_types.h