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)
commit3738daa68a5121ad7dd0318bca931e2a6afb0e8c
tree8cb3a27c974fa834c2241e9f7335be405053492b
parent01deead041e03c9a6b4e1b2dd165dee4cced6112
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