]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/../_client_request: skip recover_missing_snaps if none are missing
authorMatan Breizman <mbreizma@redhat.com>
Thu, 27 Mar 2025 13:39:09 +0000 (13:39 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 2 Apr 2025 10:28:53 +0000 (10:28 +0000)
commit5744613a4a4f107a59f1de6e2a35acc177b1eb28
tree96b590f1527956852e557db0c3b1b67852d2c0f3
parent95255f7d80f3e2eb3d19f08bd23617c41dbda2a7
osd/../_client_request: skip recover_missing_snaps if none are missing

For every clone object operation, we call recover_missing_snaps
to make sure that the resolved object is not missing.
For us to resolve_oid we need to lock the obc for RWREAD.
See ClientRequest::recover_missing_snaps.

Let's avoid locking the object if I don't have any possible
missing clone objects. Otherwise, try to recover as before.

This should positively affect reads even in an undegraded cluster state.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/osd/osd_operations/client_request.cc