]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw_file: avoid a recursive lane lock in LRU drain 15819/head
authorMatt Benjamin <mbenjamin@redhat.com>
Wed, 21 Jun 2017 21:20:40 +0000 (17:20 -0400)
committerMatt Benjamin <mbenjamin@redhat.com>
Thu, 22 Jun 2017 19:00:42 +0000 (15:00 -0400)
commite12fc13e25b57a9525cc14ce1e42f50ee19dfe7d
tree13eb0fd2808e62f7f96ff7999fbf3e4606f3237a
parent81f85d74b2f9c9d5be14a453ae97ac99f4b6e219
rgw_file: avoid a recursive lane lock in LRU drain

While highly unlikely in normal fs operations, draining an
entire filesystem could induce a recursion on object delete/unref,
when provoked by cohort_lru::drain().

Adjusted to use intrusive slist rather than std:vector<T*>
after review.

Found running librgw_file_nfsns unit test.

Fixes: http://tracker.ceph.com/issues/20374
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/common/cohort_lru.h