Home
last modified time | relevance | path

Searched refs:dax_dev (Results 1 – 19 of 19) sorted by relevance

/linux/drivers/dax/
H A Dsuper.c63 int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk) in dax_add_host() argument
65 return xa_insert(&dax_hosts, (unsigned long)disk, dax_dev, GFP_KERNEL); in dax_add_host()
85 struct dax_device *dax_dev; in fs_dax_get_by_bdev() local
100 dax_dev = xa_load(&dax_hosts, (unsigned long)bdev->bd_disk); in fs_dax_get_by_bdev()
101 if (!dax_dev || !dax_alive(dax_dev) || !igrab(&dax_dev->inode)) in fs_dax_get_by_bdev()
102 dax_dev = NULL; in fs_dax_get_by_bdev()
104 if (!cmpxchg(&dax_dev->holder_data, NULL, holder)) in fs_dax_get_by_bdev()
105 dax_dev->holder_ops = ops; in fs_dax_get_by_bdev()
107 dax_dev = NULL; in fs_dax_get_by_bdev()
111 return dax_dev; in fs_dax_get_by_bdev()
[all …]
H A Dfsdev.c47 static long __fsdev_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, in __fsdev_dax_direct_access() argument
51 struct dev_dax *dev_dax = dax_get_private(dax_dev); in __fsdev_dax_direct_access()
76 static int fsdev_dax_zero_page_range(struct dax_device *dax_dev, in fsdev_dax_zero_page_range() argument
83 rc = __fsdev_dax_direct_access(dax_dev, pgoff, 1, DAX_ACCESS, in fsdev_dax_zero_page_range()
91 static long fsdev_dax_direct_access(struct dax_device *dax_dev, in fsdev_dax_direct_access() argument
95 return __fsdev_dax_direct_access(dax_dev, pgoff, nr_pages, mode, in fsdev_dax_direct_access()
99 static size_t fsdev_dax_recovery_write(struct dax_device *dax_dev, in fsdev_dax_recovery_write() argument
125 dax_set_ops(dev_dax->dax_dev, NULL); in fsdev_clear_ops()
175 return dax_holder_notify_failure(dev_dax->dax_dev, offset, in fsdev_pagemap_memory_failure()
217 struct dax_device *dax_dev = inode_dax(inode); in fsdev_open() local
[all …]
H A Ddax-private.h15 struct inode *dax_inode(struct dax_device *dax_dev);
86 struct dax_device *dax_dev; member
105 void run_dax(struct dax_device *dax_dev);
/linux/drivers/nvdimm/
H A Ddax_devs.c91 struct device *dax_dev; in nd_dax_probe() local
109 dax_dev = nd_dax_devinit(nd_dax, ndns); in nd_dax_probe()
110 if (!dax_dev) in nd_dax_probe()
117 dev_dbg(dev, "dax: %s\n", rc == 0 ? dev_name(dax_dev) : "<none>"); in nd_dax_probe()
119 nd_detach_ndns(dax_dev, &nd_pfn->ndns); in nd_dax_probe()
120 put_device(dax_dev); in nd_dax_probe()
122 nd_device_register(dax_dev); in nd_dax_probe()
H A Dpmem.c308 static int pmem_dax_zero_page_range(struct dax_device *dax_dev, pgoff_t pgoff, in pmem_dax_zero_page_range() argument
311 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_dax_zero_page_range()
318 static long pmem_dax_direct_access(struct dax_device *dax_dev, in pmem_dax_direct_access() argument
322 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_dax_direct_access()
340 static size_t pmem_recovery_write(struct dax_device *dax_dev, pgoff_t pgoff, in pmem_recovery_write() argument
343 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_recovery_write()
393 return sprintf(buf, "%d\n", !!dax_write_cache_enabled(pmem->dax_dev)); in write_cache_show()
406 dax_write_cache(pmem->dax_dev, write_cache); in write_cache_store()
441 kill_dax(pmem->dax_dev); in pmem_release_disk()
442 put_dax(pmem->dax_dev); in pmem_release_disk()
[all …]
/linux/drivers/md/
H A Ddm-linear.c168 return lc->dev->dax_dev; in linear_dax_pgoff()
175 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_direct_access() local
177 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in linear_dax_direct_access()
183 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_zero_page_range() local
185 return dax_zero_page_range(dax_dev, pgoff, nr_pages); in linear_dax_zero_page_range()
191 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_recovery_write() local
193 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in linear_dax_recovery_write()
H A Ddm-stripe.c314 return sc->stripe[stripe].dev->dax_dev; in stripe_dax_pgoff()
321 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_direct_access() local
323 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in stripe_dax_direct_access()
329 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_zero_page_range() local
331 return dax_zero_page_range(dax_dev, pgoff, nr_pages); in stripe_dax_zero_page_range()
337 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_recovery_write() local
339 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in stripe_dax_recovery_write()
H A Ddm.c769 td->dm_dev.dax_dev = fs_dax_get_by_bdev(bdev, &part_off, in open_table_device()
796 put_dax(td->dm_dev.dax_dev); in close_table_device()
1219 static long dm_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, in dm_dax_direct_access() argument
1223 struct mapped_device *md = dax_get_private(dax_dev); in dm_dax_direct_access()
1247 static int dm_dax_zero_page_range(struct dax_device *dax_dev, pgoff_t pgoff, in dm_dax_zero_page_range() argument
1250 struct mapped_device *md = dax_get_private(dax_dev); in dm_dax_zero_page_range()
1274 static size_t dm_dax_recovery_write(struct dax_device *dax_dev, pgoff_t pgoff, in dm_dax_recovery_write() argument
1277 struct mapped_device *md = dax_get_private(dax_dev); in dm_dax_recovery_write()
2251 if (md->dax_dev) { in cleanup_mapped_device()
2253 kill_dax(md->dax_dev); in cleanup_mapped_device()
[all …]
H A Ddm-log-writes.c892 return lc->dev->dax_dev; in log_writes_dax_pgoff()
899 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_direct_access() local
901 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in log_writes_dax_direct_access()
907 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_zero_page_range() local
909 return dax_zero_page_range(dax_dev, pgoff, nr_pages << PAGE_SHIFT); in log_writes_dax_zero_page_range()
915 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_recovery_write() local
917 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in log_writes_dax_recovery_write()
/linux/drivers/s390/block/
H A Ddcssblk.c32 static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
46 static int dcssblk_dax_zero_page_range(struct dax_device *dax_dev, in dcssblk_dax_zero_page_range() argument
52 rc = dax_direct_access(dax_dev, pgoff, nr_pages, DAX_ACCESS, in dcssblk_dax_zero_page_range()
58 dax_flush(dax_dev, kaddr, nr_pages << PAGE_SHIFT); in dcssblk_dax_zero_page_range()
80 struct dax_device *dax_dev; member
415 kill_dax(dev_info->dax_dev); in dcssblk_shared_store()
416 put_dax(dev_info->dax_dev); in dcssblk_shared_store()
539 struct dax_device *dax_dev; in dcssblk_setup_dax() local
541 dax_dev = alloc_dax(dev_info, &dcssblk_dax_ops); in dcssblk_setup_dax()
542 if (IS_ERR(dax_dev)) in dcssblk_setup_dax()
[all …]
/linux/fs/xfs/
H A Dxfs_notify_failure.c373 struct dax_device *dax_dev, in xfs_dax_notify_failure() argument
378 struct xfs_mount *mp = dax_holder(dax_dev); in xfs_dax_notify_failure()
386 mp->m_logdev_targp->bt_daxdev == dax_dev) { in xfs_dax_notify_failure()
391 (mp->m_rtdev_targp && mp->m_rtdev_targp->bt_daxdev == dax_dev) ? in xfs_dax_notify_failure()
H A Dxfs_iomap.c148 iomap->dax_dev = target->bt_daxdev; in xfs_bmbt_to_iomap()
186 iomap->dax_dev = target->bt_daxdev; in xfs_hole_to_iomap()
/linux/fs/
H A Ddax.c1051 rc = dax_direct_access(iter->iomap.dax_dev, pgoff, 1, DAX_ACCESS, in copy_cow_page_dax()
1140 static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, in dax_writeback_one() argument
1213 dax_flush(dax_dev, page_address(pfn_to_page(pfn)), count * PAGE_SIZE); in dax_writeback_one()
1240 struct dax_device *dax_dev, struct writeback_control *wbc) in dax_writeback_mapping_range() argument
1261 ret = dax_writeback_one(&xas, dax_dev, mapping, entry); in dax_writeback_mapping_range()
1288 length = dax_direct_access(iomap->dax_dev, pgoff, PHYS_PFN(size), in dax_iomap_direct_access()
1387 dax_flush(srcmap->dax_dev, daddr, size); in dax_iomap_copy_around()
1527 ret = dax_direct_access(iomap->dax_dev, pgoff, 1, DAX_ACCESS, &kaddr, in dax_memzero()
1537 dax_flush(iomap->dax_dev, kaddr + offset, size); in dax_memzero()
1571 ret = dax_zero_page_range(iomap->dax_dev, pgoff, 1); in dax_zero_iter()
[all …]
/linux/fs/erofs/
H A Dsuper.c159 dif->dax_dev = fs_dax_get_by_bdev(file_bdev(file), in erofs_init_device()
165 if (!dif->dax_dev && test_opt(&sbi->opt, DAX_ALWAYS)) { in erofs_init_device()
206 if (test_opt(&sbi->opt, DAX_ALWAYS) && !sbi->dif0.dax_dev) { in erofs_scan_devices()
710 sbi->dif0.dax_dev = fs_dax_get_by_bdev(sb->s_bdev, in erofs_fc_fill_super()
862 fs_put_dax(dif->dax_dev, NULL); in erofs_release_device_info()
955 fs_put_dax(sbi->dif0.dax_dev, NULL); in erofs_kill_sb()
H A Ddata.c323 iomap->dax_dev = mdev.m_dif->dax_dev; in erofs_iomap_begin()
H A Dinternal.h47 struct dax_device *dax_dev; member
/linux/fs/ext4/
H A Dfile.c885 struct dax_device *dax_dev = EXT4_SB(inode->i_sb)->s_daxdev; in ext4_file_mmap_prepare() local
898 if (!daxdev_mapping_supported(desc, file_inode(file), dax_dev)) in ext4_file_mmap_prepare()
H A Dinode.c3486 iomap->dax_dev = EXT4_SB(inode->i_sb)->s_daxdev; in ext4_set_iomap()
/linux/include/linux/
H A Diomap.h137 struct dax_device *dax_dev; /* dax_dev for dax operations */ member