On Wed, Nov 13, 2013 at 3:22 PM, Li Wang <liwang@xxxxxxxxxxxxxxx> wrote: > If the length of data to be read in readpage() is exactly > PAGE_CACHE_SIZE, the original code does not flush d-cache > for data consistency after finishing reading. This patches fixes > this. > > Signed-off-by: Li Wang <liwang@xxxxxxxxxxxxxxx> > --- > fs/ceph/addr.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c > index 6df8bd4..7b0000a 100644 > --- a/fs/ceph/addr.c > +++ b/fs/ceph/addr.c > @@ -210,9 +210,13 @@ 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); > + } this doesn't make sense for me. why not call flush_dcache_page unconditionally? Regards Yan, Zheng > } > SetPageUptodate(page); > > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html