]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: simplify Onode pin/unpin logic.
authorIgor Fedotov <ifedotov@suse.com>
Fri, 24 Jan 2020 22:18:47 +0000 (01:18 +0300)
committerIgor Fedotov <ifedotov@suse.com>
Mon, 6 Jul 2020 13:07:14 +0000 (16:07 +0300)
commit3a938749f352ce8e220314da9b6e344e67eaf1fd
tree83b150d96fd799eac1c36bd0274d18f056fb49d2
parenta5441010ed5611fae64ac8cf84a7ff9609e8939c
os/bluestore: simplify Onode pin/unpin logic.

This patch makes in/unpin logic more straightforward and
hopefully safe in multi-threading.

Also it eliminates Onode's pin_list as one doesn't need it to track
pinned Onodes.

OnodeCacheShard reference has been removed from onode too.

cached/pinned flags have been introduced. They're accessed under cache lock
hence original race has been totally addressed.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h