diff options
-rw-r--r-- | src/osd/PGBackend.h | 7 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.cc | 3 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.h | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/osd/PGBackend.h b/src/osd/PGBackend.h index e3cc05bf345..64b018cd129 100644 --- a/src/osd/PGBackend.h +++ b/src/osd/PGBackend.h @@ -46,13 +46,18 @@ virtual void on_local_recover_start( const hobject_t &oid, ObjectStore::Transaction *t) = 0; + /** * Called with the transaction recovering oid + * + * FIXME: recovery_info is a mutable reference because in the + * lost_unfound case, we need to adjust the version of the object + * which we intend to push to the replicas. This is not ideal. */ virtual void on_local_recover( const hobject_t &oid, const object_stat_sum_t &stat_diff, - const ObjectRecoveryInfo &recovery_info, + ObjectRecoveryInfo &recovery_info, ObjectContextRef obc, ObjectStore::Transaction *t ) = 0; diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 4f045e58f1d..07ea4d7291e 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -116,12 +116,11 @@ void ReplicatedPG::on_local_recover_start( void ReplicatedPG::on_local_recover( const hobject_t &hoid, const object_stat_sum_t &stat_diff, - const ObjectRecoveryInfo &_recovery_info, + ObjectRecoveryInfo &recovery_info, ObjectContextRef obc, ObjectStore::Transaction *t ) { - ObjectRecoveryInfo recovery_info(_recovery_info); if (recovery_info.soid.snap < CEPH_NOSNAP) { assert(recovery_info.oi.snaps.size()); OSDriver::OSTransaction _t(osdriver.get_transaction(t)); diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index a4e5ac1e1a1..d39003f93ef 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -134,7 +134,7 @@ public: void on_local_recover( const hobject_t &oid, const object_stat_sum_t &stat_diff, - const ObjectRecoveryInfo &recovery_info, + ObjectRecoveryInfo &recovery_info, ObjectContextRef obc, ObjectStore::Transaction *t ); |