X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=fs%2Fdax.c;h=4ab1c493c73f1edd965d73dbafefa25433233552;hb=b02a025dd188915f1d4754e28b3ea021ac607186;hp=4e3e5a283a916a43e2abf7b969307b582ee3ceb6;hpb=75b96f0ec5faf730128c32187e3e28441c27a094;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/fs/dax.c b/fs/dax.c index 4e3e5a2..4ab1c49 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -846,7 +846,8 @@ static void dax_entry_mkclean(struct address_space *mapping, pgoff_t index, if (!pmd_dirty(*pmdp) && !pmd_write(*pmdp)) goto unlock_pmd; - flush_cache_page(vma, address, pfn); + flush_cache_range(vma, address, + address + HPAGE_PMD_SIZE); pmd = pmdp_invalidate(vma, address, pmdp); pmd = pmd_wrprotect(pmd); pmd = pmd_mkclean(pmd); @@ -1278,6 +1279,9 @@ dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter, loff_t done = 0; int ret; + if (!iomi.len) + return 0; + if (iov_iter_rw(iter) == WRITE) { lockdep_assert_held_write(&iomi.inode->i_rwsem); iomi.flags |= IOMAP_WRITE;