/Linux-v6.6/drivers/dax/ |
D | super.c | 62 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 …]
|
D | dax-private.h | 15 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);
|
D | device.c | 23 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()
|
D | bus.c | 397 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-v6.6/include/linux/ |
D | dax.h | 42 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 …]
|
D | iomap.h | 101 struct dax_device *dax_dev; /* dax_dev for dax operations */ member
|
/Linux-v6.6/drivers/nvdimm/ |
D | dax_devs.c | 91 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()
|
D | pmem.c | 294 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 …]
|
D | pmem.h | 27 struct dax_device *dax_dev; member
|
/Linux-v6.6/drivers/md/ |
D | dm-linear.c | 165 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()
|
D | dm-stripe.c | 313 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()
|
D | dm-log-writes.c | 889 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()
|
D | dm.c | 755 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 …]
|
D | dm-table.c | 823 if (dev->dax_dev) in device_not_dax_capable() 834 return !dev->dax_dev || !dax_synchronous(dev->dax_dev); in device_not_dax_synchronous_capable() 1811 struct dax_device *dax_dev = dev->dax_dev; in device_dax_write_cache_enabled() local 1813 if (!dax_dev) in device_dax_write_cache_enabled() 1816 if (dax_write_cache_enabled(dax_dev)) in device_dax_write_cache_enabled() 1976 set_dax_synchronous(t->md->dax_dev); in dm_table_set_restrictions() 1981 dax_write_cache(t->md->dax_dev, true); in dm_table_set_restrictions()
|
D | dm-core.h | 77 struct dax_device *dax_dev; member
|
/Linux-v6.6/drivers/s390/block/ |
D | dcssblk.c | 34 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-v6.6/fs/xfs/ |
D | xfs_notify_failure.c | 178 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-v6.6/fs/fuse/ |
D | virtio_fs.c | 64 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 …]
|
D | dax.c | 579 iomap->dax_dev = fc->dax->dev; in fuse_iomap_begin() 1281 struct dax_device *dax_dev) in fuse_dax_conn_alloc() argument 1288 if (!dax_dev) in fuse_dax_conn_alloc() 1296 fcd->dev = dax_dev; in fuse_dax_conn_alloc()
|
D | fuse_i.h | 526 struct dax_device *dax_dev; member 1319 struct dax_device *dax_dev);
|
/Linux-v6.6/fs/ |
D | dax.c | 838 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-v6.6/fs/erofs/ |
D | data.c | 209 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()
|
D | super.c | 259 dif->dax_dev = fs_dax_get_by_bdev(bdev, &dif->dax_part_off, in erofs_init_device() 684 sbi->dax_dev = fs_dax_get_by_bdev(sb->s_bdev, in erofs_fc_fill_super() 705 if (!sbi->dax_dev) { in erofs_fc_fill_super() 808 fs_put_dax(dif->dax_dev, NULL); in erofs_release_device_info() 895 fs_put_dax(sbi->dax_dev, NULL); in erofs_kill_sb()
|
D | internal.h | 51 struct dax_device *dax_dev; member 143 struct dax_device *dax_dev; member
|
/Linux-v6.6/fs/ext4/ |
D | file.c | 804 struct dax_device *dax_dev = EXT4_SB(inode->i_sb)->s_daxdev; in ext4_file_mmap() local 813 if (!daxdev_mapping_supported(vma, dax_dev)) in ext4_file_mmap()
|