Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crimson/osd: remove osd_op_params_t::user_at_version
osd_op_params_t::user_at_version was populated from osd_op_params_t::at_version before the call to prepare_transaction, which incremented osd_op_params_t::at_version.version. As a result, the value stored in object_info_t::user_version ended up one version behind object_info_t::version. The log entry, on the other hand, ended up with the correct version as OpsExecutor::prepare_transaction populates it directly from at_version. As a result, the primary could return different versions to the client depending on whether the IO was already in the log. This commit eliminates osd_op_params_t::user_at_version and updates PGBackend::mutate_object to behave like prepare_transaction. Because the prior commit removes the prepare_transaction increment, this isn't strictly necessary, but it is simpler. Fixes: https://tracker.ceph.com/issues/65857 Signed-off-by: Samuel Just <[email protected]>
- Loading branch information