Commit 88ac6d9
committed
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 <[email protected]>1 parent 71702bf commit 88ac6d9
2 files changed
+16
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6439 | 6439 | | |
6440 | 6440 | | |
6441 | 6441 | | |
6442 | | - | |
| 6442 | + | |
6443 | 6443 | | |
6444 | 6444 | | |
6445 | 6445 | | |
| |||
6473 | 6473 | | |
6474 | 6474 | | |
6475 | 6475 | | |
| 6476 | + | |
6476 | 6477 | | |
6477 | 6478 | | |
6478 | 6479 | | |
6479 | 6480 | | |
6480 | 6481 | | |
6481 | 6482 | | |
6482 | | - | |
| 6483 | + | |
6483 | 6484 | | |
6484 | 6485 | | |
6485 | 6486 | | |
| |||
6565 | 6566 | | |
6566 | 6567 | | |
6567 | 6568 | | |
| 6569 | + | |
| 6570 | + | |
| 6571 | + | |
6568 | 6572 | | |
6569 | 6573 | | |
6570 | 6574 | | |
| |||
6604 | 6608 | | |
6605 | 6609 | | |
6606 | 6610 | | |
| 6611 | + | |
| 6612 | + | |
| 6613 | + | |
| 6614 | + | |
| 6615 | + | |
| 6616 | + | |
| 6617 | + | |
| 6618 | + | |
6607 | 6619 | | |
6608 | 6620 | | |
6609 | 6621 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6088 | 6088 | | |
6089 | 6089 | | |
6090 | 6090 | | |
| 6091 | + | |
| 6092 | + | |
6091 | 6093 | | |
6092 | 6094 | | |
6093 | 6095 | | |
| |||
0 commit comments