]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - fs/ceph/mds_client.c
ceph: move ceph_find_inode() outside the s_mutex
authorYan, Zheng <zyan@redhat.com>
Tue, 16 Sep 2014 23:45:12 +0000 (07:45 +0800)
committerIlya Dryomov <idryomov@redhat.com>
Tue, 14 Oct 2014 17:03:39 +0000 (21:03 +0400)
commit6cd3bcad0d269f96667ea704d4f6459a5c6ccbab
treeb1b9f47e26f0553902803e7e58d23a0a3d3b5b0b
parent508b32d8661b12da4c9ca41a9b2054e1dc92fa7e
ceph: move ceph_find_inode() outside the s_mutex

ceph_find_inode() may wait on freeing inode, using it inside the s_mutex
may cause deadlock. (the freeing inode is waiting for OSD read reply, but
dispatch thread is blocked by the s_mutex)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
fs/ceph/caps.c
fs/ceph/mds_client.c