From: dongdong tao Date: Mon, 8 Jan 2018 08:00:31 +0000 (+0800) Subject: client: avoid recursive lock in ll_get_vino X-Git-Tag: v13.0.2~505^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fdfbe40c3f16c14dc9c3352f3eea66d34138ee9d;p=ceph.git client: avoid recursive lock in ll_get_vino Fixes: http://tracker.ceph.com/issues/22629 Signed-off-by: dongdong tao --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 1c2d66002ea..8f29cc99b47 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -12717,7 +12717,7 @@ int Client::ll_read_block(Inode *in, uint64_t blockid, if (unmounting) return -ENOTCONN; - vinodeno_t vino = ll_get_vino(in); + vinodeno_t vino = _get_vino(in); object_t oid = file_object_t(vino.ino, blockid); C_SaferCond onfinish; bufferlist bl; @@ -12826,7 +12826,7 @@ int Client::ll_commit_blocks(Inode *in, Mutex::Locker lock(client_lock); /* BarrierContext *bctx; - vinodeno_t vino = ll_get_vino(in); + vinodeno_t vino = _get_vino(in); uint64_t ino = vino.ino; ldout(cct, 1) << "ll_commit_blocks for " << vino.ino << " from "