X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=fs%2Fdirect-io.c;h=7bc494ee56b9d7e61e6a658e6de5eb62bacabbdc;hb=5e570e600b24e72222056a6968548211bb9636ca;hp=2ceb378b93c0dec1aff387c9656874e3abb3639c;hpb=40c565a429d706951f18fe07ccd9f6fded23a4dc;p=platform%2Fkernel%2Flinux-starfive.git diff --git a/fs/direct-io.c b/fs/direct-io.c index 2ceb378..7bc494e 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -297,14 +297,8 @@ static ssize_t dio_complete(struct dio *dio, ssize_t ret, unsigned int flags) * zeros from unwritten extents. */ if (flags & DIO_COMPLETE_INVALIDATE && - ret > 0 && dio_op == REQ_OP_WRITE && - dio->inode->i_mapping->nrpages) { - err = invalidate_inode_pages2_range(dio->inode->i_mapping, - offset >> PAGE_SHIFT, - (offset + ret - 1) >> PAGE_SHIFT); - if (err) - dio_warn_stale_pagecache(dio->iocb->ki_filp); - } + ret > 0 && dio_op == REQ_OP_WRITE) + kiocb_invalidate_post_direct_write(dio->iocb, ret); inode_dio_end(dio->inode);