]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: fetch inline data when getting Fcr cap refs
authorYan, Zheng <zyan@redhat.com>
Fri, 14 Nov 2014 14:10:07 +0000 (22:10 +0800)
committerIlya Dryomov <idryomov@redhat.com>
Wed, 17 Dec 2014 17:09:52 +0000 (20:09 +0300)
commitb18291b38b6a7220c816dcfa9738ee083900afde
tree8cb3a27c974fa834c2241e9f7335be405053492b
parent9626e6560f72f3177445411bbfb015fa02ff5ab2
ceph: fetch inline data when getting Fcr cap refs

we can't use getattr to fetch inline data after getting Fcr caps,
because it can cause deadlock. The solution is try bringing inline
data to page cache when not holding any cap, and hope the inline
data page is still there after getting the Fcr caps. If the page
is still there, pin it in page cache for later IO.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
fs/ceph/addr.c
fs/ceph/caps.c
fs/ceph/file.c