]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: use intrusive set for ClientLease tracking 57911/head
authorGarry Drankovich <garry.drankovich@clyso.com>
Thu, 6 Jun 2024 10:17:00 +0000 (13:17 +0300)
committerGarry Drankovich <garry.drankovich@clyso.com>
Mon, 24 Jun 2024 17:18:44 +0000 (20:18 +0300)
commit2140fbf72d27f635cc1cd2e0127dbfea77c1db9c
tree6c4286614cf3ee3a569d44359eb1d4dff6bd1125
parent0a4a5d34929d64d80d6273688da3bf6855962c2b
mds: use intrusive set for ClientLease tracking

This allows to avoid additional redundant lookups in CDentry::client_leases
for some scenarios, e.g.:
* CDentry::remove_client_lease() is called from CDentry::remove_client_leases().
* CDentry::remove_client_lease() is called from Locker::remove_stale_leases()
* CDentry::remove_client_lease() is called from Locker::process_request_cap_release()

And a few similar cases.
In all of them a caller has a pointer to ClientLease object but has to
perform another lookup to remove that lease.

Signed-off-by: Garry Drankovich <garry.drankovich@clyso.com>
src/mds/CDentry.cc
src/mds/CDentry.h
src/mds/Locker.cc