ceph: allocate non-zero page to fscache in readpage()
authorLi Wang <liwang@ubuntukylin.com>
Sat, 9 Nov 2013 02:26:06 +0000 (10:26 +0800)
committerSage Weil <sage@inktank.com>
Sat, 23 Nov 2013 19:01:07 +0000 (11:01 -0800)
ceph_osdc_readpages() returns number of bytes read, currently,
the code only allocate full-zero page into fscache, this patch
fixes this.

Signed-off-by: Li Wang <liwang@ubuntukylin.com>
Reviewed-by: Milosz Tanski <milosz@adfin.com>
Reviewed-by: Sage Weil <sage@inktank.com>
fs/ceph/addr.c

index 6df8bd481425379006912990ee6f9461eaf3cf1b..1e561c059539542e83a118edb003ffabca08506b 100644 (file)
@@ -216,7 +216,7 @@ static int readpage_nounlock(struct file *filp, struct page *page)
        }
        SetPageUptodate(page);
 
-       if (err == 0)
+       if (err >= 0)
                ceph_readpage_to_fscache(inode, page);
 
 out: