From 183028052b48db2b34c09fd54f0bc465eaa305eb Mon Sep 17 00:00:00 2001 From: Li Wang Date: Thu, 19 Dec 2013 06:03:49 -0800 Subject: ceph fscache: Uncaching no data page from fscache in readpage() Currently, if one new page allocated into fscache in readpage(), however, with no data read into due to error encountered during reading from OSDs, the slot in fscache is not uncached. This patch fixes this. Signed-off-by: Li Wang Reviewed-by: Milosz Tanski diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index ebda329..791a9a2 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -209,6 +209,7 @@ static int readpage_nounlock(struct file *filp, struct page *page) err = 0; if (err < 0) { SetPageError(page); + ceph_fscache_readpage_cancel(inode, page); goto out; } else { if (err < PAGE_CACHE_SIZE) { -- cgit v0.10.2