Lines Matching refs:iomap
812 static pgoff_t dax_iomap_pgoff(const struct iomap *iomap, loff_t pos) in dax_iomap_pgoff() argument
814 return PHYS_PFN(iomap->addr + (pos & PAGE_MASK) - iomap->offset); in dax_iomap_pgoff()
819 pgoff_t pgoff = dax_iomap_pgoff(&iter->iomap, iter->pos); in copy_cow_page_dax()
825 rc = dax_direct_access(iter->iomap.dax_dev, pgoff, 1, DAX_ACCESS, in copy_cow_page_dax()
846 (iter->iomap.flags & IOMAP_F_DIRTY); in dax_fault_is_synchronous()
864 bool shared = iter->iomap.flags & IOMAP_F_SHARED; in dax_insert_entry()
1053 static int dax_iomap_direct_access(const struct iomap *iomap, loff_t pos, in dax_iomap_direct_access() argument
1056 pgoff_t pgoff = dax_iomap_pgoff(iomap, pos); in dax_iomap_direct_access()
1061 length = dax_direct_access(iomap->dax_dev, pgoff, PHYS_PFN(size), in dax_iomap_direct_access()
1107 const struct iomap *srcmap, void *daddr) in dax_iomap_copy_around()
1250 struct iomap *iomap = &iter->iomap; in dax_unshare_iter() local
1251 const struct iomap *srcmap = iomap_iter_srcmap(iter); in dax_unshare_iter()
1259 if (!(iomap->flags & IOMAP_F_SHARED)) in dax_unshare_iter()
1266 ret = dax_iomap_direct_access(iomap, pos, length, &daddr, NULL); in dax_unshare_iter()
1303 const struct iomap *iomap = &iter->iomap; in dax_memzero() local
1304 const struct iomap *srcmap = iomap_iter_srcmap(iter); in dax_memzero()
1306 pgoff_t pgoff = dax_iomap_pgoff(iomap, pos); in dax_memzero()
1310 ret = dax_direct_access(iomap->dax_dev, pgoff, 1, DAX_ACCESS, &kaddr, in dax_memzero()
1315 if (iomap->flags & IOMAP_F_SHARED) in dax_memzero()
1319 dax_flush(iomap->dax_dev, kaddr + offset, size); in dax_memzero()
1325 const struct iomap *iomap = &iter->iomap; in dax_zero_iter() local
1326 const struct iomap *srcmap = iomap_iter_srcmap(iter); in dax_zero_iter()
1339 if (iomap->flags & IOMAP_F_SHARED) in dax_zero_iter()
1347 pgoff_t pgoff = dax_iomap_pgoff(iomap, pos); in dax_zero_iter()
1353 rc = dax_zero_page_range(iomap->dax_dev, pgoff, 1); in dax_zero_iter()
1403 const struct iomap *iomap = &iomi->iomap; in dax_iomap_iter() local
1404 const struct iomap *srcmap = iomap_iter_srcmap(iomi); in dax_iomap_iter()
1407 struct dax_device *dax_dev = iomap->dax_dev; in dax_iomap_iter()
1410 bool cow = write && iomap->flags & IOMAP_F_SHARED; in dax_iomap_iter()
1420 if (iomap->type == IOMAP_HOLE || iomap->type == IOMAP_UNWRITTEN) in dax_iomap_iter()
1428 if (WARN_ON_ONCE(iomap->type != IOMAP_MAPPED && in dax_iomap_iter()
1429 !(iomap->flags & IOMAP_F_SHARED))) in dax_iomap_iter()
1437 if (iomap->flags & IOMAP_F_NEW || cow) { in dax_iomap_iter()
1447 pgoff_t pgoff = dax_iomap_pgoff(iomap, pos); in dax_iomap_iter()
1580 switch (iter->iomap.type) { in dax_fault_cow_page()
1617 const struct iomap *iomap = &iter->iomap; in dax_fault_iter() local
1618 const struct iomap *srcmap = iomap_iter_srcmap(iter); in dax_fault_iter()
1632 (iomap->type == IOMAP_UNWRITTEN || iomap->type == IOMAP_HOLE)) { in dax_fault_iter()
1638 if (iomap->type != IOMAP_MAPPED && !(iomap->flags & IOMAP_F_SHARED)) { in dax_fault_iter()
1643 err = dax_iomap_direct_access(iomap, pos, size, &kaddr, &pfn); in dax_fault_iter()
1649 if (write && iomap->flags & IOMAP_F_SHARED) { in dax_fault_iter()
1722 (iter.iomap.flags & IOMAP_F_NEW)) { in dax_iomap_pte_fault()
1965 const struct iomap *smap = &it_src->iomap; in dax_range_compare_iter()
1966 const struct iomap *dmap = &it_dest->iomap; in dax_range_compare_iter()