diff options
author | Mark Brown <broonie@linaro.org> | 2014-01-17 15:52:17 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-01-17 15:52:17 +0000 |
commit | 81e53d0470878165a300d75ac06a5bc5eee543a2 (patch) | |
tree | 5fdaacfb350c5a290109f98ab29e9858f1f11469 /fs/ceph/addr.c | |
parent | 15e0964dc2a097de3cf518badf2237b6b6adf7fe (diff) | |
parent | fcb4ed749c776a2ae89ca40343cbccb6f8981e60 (diff) |
Merge branches 'topic/sc18is602' and 'topic/rspi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-bpw
Diffstat (limited to 'fs/ceph/addr.c')
-rw-r--r-- | fs/ceph/addr.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 6df8bd48142..ec3ba43b9fa 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -210,13 +210,17 @@ static int readpage_nounlock(struct file *filp, struct page *page) if (err < 0) { SetPageError(page); goto out; - } else if (err < PAGE_CACHE_SIZE) { + } else { + if (err < PAGE_CACHE_SIZE) { /* zero fill remainder of page */ - zero_user_segment(page, err, PAGE_CACHE_SIZE); + zero_user_segment(page, err, PAGE_CACHE_SIZE); + } else { + flush_dcache_page(page); + } } SetPageUptodate(page); - if (err == 0) + if (err >= 0) ceph_readpage_to_fscache(inode, page); out: |