]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw/rgw_file: Fix the incorrect lru object eviction
authorluo rixin <luorixin@huawei.com>
Tue, 1 Sep 2020 09:06:40 +0000 (17:06 +0800)
committerluo rixin <luorixin@huawei.com>
Fri, 9 Oct 2020 12:44:53 +0000 (20:44 +0800)
commitf2097338722d7f2526bb815da47695f2da17fcce
tree4998028126161438e2a7ae5a35d2d774e28d1a88
parent2cb09bd4bd79863f019ec58df01df0551fc84202
rgw/rgw_file: Fix the incorrect lru object eviction

In func lookup_fh, when RGWFileHandle not be found in fh_cache, it
need to recycle an object and create an new RGWFileHandle. When there
are multi threads use lookup_fh to find and create RGWFileHandle concurrently,
it must to make sure evict lru object from the partiton of fh_cache which new
RGWFileHandle will be inserted to.

Fixes: https://tracker.ceph.com/issues/47235
Signed-off-by: luo rixin <luorixin@huawei.com>
src/common/cohort_lru.h
src/rgw/rgw_file.cc
src/rgw/rgw_file.h