]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd/cache/pwl: Fix dead lock issue when pwl initialization failed 40718/head
authorYin Congmin <congmin.yin@intel.com>
Fri, 9 Apr 2021 15:01:52 +0000 (23:01 +0800)
committerYin Congmin <congmin.yin@intel.com>
Tue, 13 Apr 2021 15:02:03 +0000 (23:02 +0800)
commit937af36e204791554708632245b4bca1d52f49a6
tree2337b27c5250dc996cd3b073685b5a210bfcb09e
parent9f94d27752b33c85cda87f275ad7296398043fd4
librbd/cache/pwl: Fix dead lock issue when pwl initialization failed

when pwl initialization failed, 'AbstractWriteLog' will release itself
in callback, it hold guard lock and want to get lock to delete data,
which causes dead lock. This PR works by release image_cache outside
the callback function.

Signed-off-by: Yin Congmin <congmin.yin@intel.com>
src/librbd/cache/pwl/AbstractWriteLog.cc
src/librbd/cache/pwl/AbstractWriteLog.h
src/librbd/cache/pwl/InitRequest.cc
src/librbd/cache/pwl/rwl/WriteLog.cc
src/librbd/cache/pwl/rwl/WriteLog.h
src/librbd/cache/pwl/ssd/WriteLog.cc
src/librbd/cache/pwl/ssd/WriteLog.h