]> 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)
commitec05fe61d1e1fccbc106128776b85eedd38dc870
tree8cb3a27c974fa834c2241e9f7335be405053492b
parentd0543d60aa205efc4bc65fc704478513e0a5e04a
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