Home
last modified time | relevance | path

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

12

/linux-6.6.21/drivers/dax/
Dsuper.c62 int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk) in dax_add_host() argument
64 return xa_insert(&dax_hosts, (unsigned long)disk, dax_dev, GFP_KERNEL); in dax_add_host()
84 struct dax_device *dax_dev; in fs_dax_get_by_bdev() local
99 dax_dev = xa_load(&dax_hosts, (unsigned long)bdev->bd_disk); in fs_dax_get_by_bdev()
100 if (!dax_dev || !dax_alive(dax_dev) || !igrab(&dax_dev->inode)) in fs_dax_get_by_bdev()
101 dax_dev = NULL; in fs_dax_get_by_bdev()
103 if (!cmpxchg(&dax_dev->holder_data, NULL, holder)) in fs_dax_get_by_bdev()
104 dax_dev->holder_ops = ops; in fs_dax_get_by_bdev()
106 dax_dev = NULL; in fs_dax_get_by_bdev()
110 return dax_dev; in fs_dax_get_by_bdev()
[all …]
Ddax-private.h15 struct inode *dax_inode(struct dax_device *dax_dev);
65 struct dax_device *dax_dev; member
86 void run_dax(struct dax_device *dax_dev);
Ddevice.c23 if (!dax_alive(dev_dax->dax_dev)) in check_vma()
348 struct dax_device *dax_dev = inode_dax(inode); in dax_open() local
349 struct inode *__dax_inode = dax_inode(dax_dev); in dax_open()
350 struct dev_dax *dev_dax = dax_get_private(dax_dev); in dax_open()
395 struct dax_device *dax_dev = dev_dax->dax_dev; in dev_dax_probe() local
452 inode = dax_inode(dax_dev); in dev_dax_probe()
465 run_dax(dax_dev); in dev_dax_probe()
Dbus.c397 struct dax_device *dax_dev = dev_dax->dax_dev; in kill_dev_dax() local
398 struct inode *inode = dax_inode(dax_dev); in kill_dev_dax()
400 kill_dax(dax_dev); in kill_dev_dax()
1314 struct dax_device *dax_dev = dev_dax->dax_dev; in dev_dax_release() local
1316 put_dax(dax_dev); in dev_dax_release()
1331 struct dax_device *dax_dev; in devm_create_dev_dax() local
1386 dax_dev = alloc_dax(dev_dax, NULL); in devm_create_dev_dax()
1387 if (IS_ERR(dax_dev)) { in devm_create_dev_dax()
1388 rc = PTR_ERR(dax_dev); in devm_create_dev_dax()
1391 set_dax_synchronous(dax_dev); in devm_create_dev_dax()
[all …]
/linux-6.6.21/include/linux/
Ddax.h42 size_t (*recovery_write)(struct dax_device *dax_dev, pgoff_t pgoff,
54 int (*notify_failure)(struct dax_device *dax_dev, u64 offset,
60 void *dax_holder(struct dax_device *dax_dev);
61 void put_dax(struct dax_device *dax_dev);
62 void kill_dax(struct dax_device *dax_dev);
63 void dax_write_cache(struct dax_device *dax_dev, bool wc);
64 bool dax_write_cache_enabled(struct dax_device *dax_dev);
65 bool dax_synchronous(struct dax_device *dax_dev);
66 void set_dax_synchronous(struct dax_device *dax_dev);
67 size_t dax_recovery_write(struct dax_device *dax_dev, pgoff_t pgoff,
[all …]
Diomap.h101 struct dax_device *dax_dev; /* dax_dev for dax operations */ member
/linux-6.6.21/drivers/nvdimm/
Ddax_devs.c91 struct device *dax_dev; in nd_dax_probe() local
110 dax_dev = nd_pfn_devinit(nd_pfn, ndns); in nd_dax_probe()
112 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()
Dpmem.c294 static int pmem_dax_zero_page_range(struct dax_device *dax_dev, pgoff_t pgoff, in pmem_dax_zero_page_range() argument
297 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_dax_zero_page_range()
304 static long pmem_dax_direct_access(struct dax_device *dax_dev, in pmem_dax_direct_access() argument
308 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_dax_direct_access()
326 static size_t pmem_recovery_write(struct dax_device *dax_dev, pgoff_t pgoff, in pmem_recovery_write() argument
329 struct pmem_device *pmem = dax_get_private(dax_dev); in pmem_recovery_write()
379 return sprintf(buf, "%d\n", !!dax_write_cache_enabled(pmem->dax_dev)); in write_cache_show()
392 dax_write_cache(pmem->dax_dev, write_cache); in write_cache_store()
427 kill_dax(pmem->dax_dev); in pmem_release_disk()
428 put_dax(pmem->dax_dev); in pmem_release_disk()
[all …]
Dpmem.h27 struct dax_device *dax_dev; member
/linux-6.6.21/drivers/md/
Ddm-linear.c165 return lc->dev->dax_dev; in linear_dax_pgoff()
172 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_direct_access() local
174 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in linear_dax_direct_access()
180 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_zero_page_range() local
182 return dax_zero_page_range(dax_dev, pgoff, nr_pages); in linear_dax_zero_page_range()
188 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff); in linear_dax_recovery_write() local
190 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in linear_dax_recovery_write()
Ddm-stripe.c313 return sc->stripe[stripe].dev->dax_dev; in stripe_dax_pgoff()
320 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_direct_access() local
322 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in stripe_dax_direct_access()
328 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_zero_page_range() local
330 return dax_zero_page_range(dax_dev, pgoff, nr_pages); in stripe_dax_zero_page_range()
336 struct dax_device *dax_dev = stripe_dax_pgoff(ti, &pgoff); in stripe_dax_recovery_write() local
338 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in stripe_dax_recovery_write()
Ddm-log-writes.c889 return lc->dev->dax_dev; in log_writes_dax_pgoff()
896 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_direct_access() local
898 return dax_direct_access(dax_dev, pgoff, nr_pages, mode, kaddr, pfn); in log_writes_dax_direct_access()
904 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_zero_page_range() local
906 return dax_zero_page_range(dax_dev, pgoff, nr_pages << PAGE_SHIFT); in log_writes_dax_zero_page_range()
912 struct dax_device *dax_dev = log_writes_dax_pgoff(ti, &pgoff); in log_writes_dax_recovery_write() local
914 return dax_recovery_write(dax_dev, pgoff, addr, bytes, i); in log_writes_dax_recovery_write()
Ddm.c755 td->dm_dev.dax_dev = fs_dax_get_by_bdev(bdev, &part_off, NULL, NULL); in open_table_device()
775 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()
1976 if (md->dax_dev) { in cleanup_mapped_device()
1978 kill_dax(md->dax_dev); in cleanup_mapped_device()
[all …]
Ddm-table.c828 if (dev->dax_dev) in device_not_dax_capable()
839 return !dev->dax_dev || !dax_synchronous(dev->dax_dev); in device_not_dax_synchronous_capable()
1816 struct dax_device *dax_dev = dev->dax_dev; in device_dax_write_cache_enabled() local
1818 if (!dax_dev) in device_dax_write_cache_enabled()
1821 if (dax_write_cache_enabled(dax_dev)) in device_dax_write_cache_enabled()
1981 set_dax_synchronous(t->md->dax_dev); in dm_table_set_restrictions()
1986 dax_write_cache(t->md->dax_dev, true); in dm_table_set_restrictions()
Ddm-core.h79 struct dax_device *dax_dev; member
/linux-6.6.21/drivers/s390/block/
Ddcssblk.c34 static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
48 static int dcssblk_dax_zero_page_range(struct dax_device *dax_dev, in dcssblk_dax_zero_page_range() argument
54 rc = dax_direct_access(dax_dev, pgoff, nr_pages, DAX_ACCESS, in dcssblk_dax_zero_page_range()
60 dax_flush(dax_dev, kaddr, nr_pages << PAGE_SHIFT); in dcssblk_dax_zero_page_range()
82 struct dax_device *dax_dev; member
417 kill_dax(dev_info->dax_dev); in dcssblk_shared_store()
418 put_dax(dev_info->dax_dev); in dcssblk_shared_store()
680 dev_info->dax_dev = alloc_dax(dev_info, &dcssblk_dax_ops); in dcssblk_add_store()
681 if (IS_ERR(dev_info->dax_dev)) { in dcssblk_add_store()
682 rc = PTR_ERR(dev_info->dax_dev); in dcssblk_add_store()
[all …]
/linux-6.6.21/fs/xfs/
Dxfs_notify_failure.c178 struct dax_device *dax_dev, in xfs_dax_notify_failure() argument
183 struct xfs_mount *mp = dax_holder(dax_dev); in xfs_dax_notify_failure()
192 if (mp->m_rtdev_targp && mp->m_rtdev_targp->bt_daxdev == dax_dev) { in xfs_dax_notify_failure()
198 if (mp->m_logdev_targp && mp->m_logdev_targp->bt_daxdev == dax_dev && in xfs_dax_notify_failure()
/linux-6.6.21/fs/fuse/
Dvirtio_fs.c64 struct dax_device *dax_dev; member
753 static long virtio_fs_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, in virtio_fs_direct_access() argument
757 struct virtio_fs *fs = dax_get_private(dax_dev); in virtio_fs_direct_access()
769 static int virtio_fs_zero_page_range(struct dax_device *dax_dev, in virtio_fs_zero_page_range() argument
775 rc = dax_direct_access(dax_dev, pgoff, nr_pages, DAX_ACCESS, &kaddr, in virtio_fs_zero_page_range()
781 dax_flush(dax_dev, kaddr, nr_pages << PAGE_SHIFT); in virtio_fs_zero_page_range()
792 struct dax_device *dax_dev = data; in virtio_fs_cleanup_dax() local
794 kill_dax(dax_dev); in virtio_fs_cleanup_dax()
795 put_dax(dax_dev); in virtio_fs_cleanup_dax()
852 fs->dax_dev = alloc_dax(fs, &virtio_fs_dax_ops); in virtio_fs_setup_dax()
[all …]
Ddax.c579 iomap->dax_dev = fc->dax->dev; in fuse_iomap_begin()
1282 struct dax_device *dax_dev) in fuse_dax_conn_alloc() argument
1289 if (!dax_dev) in fuse_dax_conn_alloc()
1297 fcd->dev = dax_dev; in fuse_dax_conn_alloc()
Dfuse_i.h541 struct dax_device *dax_dev; member
1334 struct dax_device *dax_dev);
/linux-6.6.21/fs/
Ddax.c838 rc = dax_direct_access(iter->iomap.dax_dev, pgoff, 1, DAX_ACCESS, in copy_cow_page_dax()
926 static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, in dax_writeback_one() argument
999 dax_flush(dax_dev, page_address(pfn_to_page(pfn)), count * PAGE_SIZE); in dax_writeback_one()
1026 struct dax_device *dax_dev, struct writeback_control *wbc) in dax_writeback_mapping_range() argument
1047 ret = dax_writeback_one(&xas, dax_dev, mapping, entry); in dax_writeback_mapping_range()
1074 length = dax_direct_access(iomap->dax_dev, pgoff, PHYS_PFN(size), in dax_iomap_direct_access()
1175 dax_flush(srcmap->dax_dev, daddr, size); in dax_iomap_copy_around()
1283 dax_flush(iomap->dax_dev, daddr, length); in dax_unshare_iter()
1328 ret = dax_direct_access(iomap->dax_dev, pgoff, 1, DAX_ACCESS, &kaddr, in dax_memzero()
1338 dax_flush(iomap->dax_dev, kaddr + offset, size); in dax_memzero()
[all …]
/linux-6.6.21/fs/erofs/
Ddata.c209 map->m_daxdev = EROFS_SB(sb)->dax_dev; in erofs_map_dev()
226 map->m_daxdev = dif->dax_dev; in erofs_map_dev()
244 map->m_daxdev = dif->dax_dev; in erofs_map_dev()
280 iomap->dax_dev = mdev.m_daxdev; in erofs_iomap_begin()
Dsuper.c206 dif->dax_dev = fs_dax_get_by_bdev(bdev, &dif->dax_part_off, in erofs_init_device()
628 sbi->dax_dev = fs_dax_get_by_bdev(sb->s_bdev, in erofs_fc_fill_super()
649 if (!sbi->dax_dev) { in erofs_fc_fill_super()
752 fs_put_dax(dif->dax_dev, NULL); in erofs_release_device_info()
839 fs_put_dax(sbi->dax_dev, NULL); in erofs_kill_sb()
Dinternal.h51 struct dax_device *dax_dev; member
143 struct dax_device *dax_dev; member
/linux-6.6.21/fs/ext4/
Dfile.c785 struct dax_device *dax_dev = EXT4_SB(inode->i_sb)->s_daxdev; in ext4_file_mmap() local
794 if (!daxdev_mapping_supported(vma, dax_dev)) in ext4_file_mmap()

12