mirror of
https://github.com/ceph/ceph
synced 2025-02-15 14:58:01 +00:00
rgw_file: alternate fix deadlock on lru eviction
This change is an alternate fix for two problems found and fixed by Yao Zongyou <yaozongyou@vip.qq.com>. The deadlock can be avoided just by not taking it in the recycle case, which invariantly holds the lock. The invalidation of the insert iterator by the recyle-path unlink we'd like to handle as a condition in order to preserve the cached insertion point optimization we get in the common case. (The original behavior was, indeed, incorrect.) Based on feedback from Yao, removed the RGWFileHandle dtor version of the unlink check, which I think happened twice. Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
This commit is contained in:
parent
2cfd5fece9
commit
3cf0880f86