Home
last modified time | relevance | path

Searched refs:iomap (Results 1 – 25 of 117) sorted by relevance

12345

/Linux-v5.15/fs/iomap/
Dswapfile.c15 struct iomap iomap; /* accumulated iomap */ member
32 struct iomap *iomap = &isi->iomap; in iomap_swapfile_add_extent() local
48 first_ppage = ALIGN(iomap->addr, PAGE_SIZE) >> PAGE_SHIFT; in iomap_swapfile_add_extent()
49 next_ppage = ALIGN_DOWN(iomap->addr + iomap->length, PAGE_SIZE) >> in iomap_swapfile_add_extent()
64 if (iomap->offset == 0) in iomap_swapfile_add_extent()
98 struct iomap *iomap, struct iomap_swapfile_info *isi) in iomap_swapfile_iter() argument
100 switch (iomap->type) { in iomap_swapfile_iter()
113 if (iomap->flags & IOMAP_F_DIRTY) in iomap_swapfile_iter()
115 if (iomap->flags & IOMAP_F_SHARED) in iomap_swapfile_iter()
119 if (iomap->bdev != isi->sis->bdev) in iomap_swapfile_iter()
[all …]
Dfiemap.c12 const struct iomap *iomap, u32 flags) in iomap_to_fiemap() argument
14 switch (iomap->type) { in iomap_to_fiemap()
31 if (iomap->flags & IOMAP_F_MERGED) in iomap_to_fiemap()
33 if (iomap->flags & IOMAP_F_SHARED) in iomap_to_fiemap()
36 return fiemap_fill_next_extent(fi, iomap->offset, in iomap_to_fiemap()
37 iomap->addr != IOMAP_NULL_ADDR ? iomap->addr : 0, in iomap_to_fiemap()
38 iomap->length, flags); in iomap_to_fiemap()
42 struct fiemap_extent_info *fi, struct iomap *prev) in iomap_fiemap_iter()
46 if (iter->iomap.type == IOMAP_HOLE) in iomap_fiemap_iter()
50 *prev = iter->iomap; in iomap_fiemap_iter()
[all …]
Diter.c13 if (iter->iomap.length) { in iomap_iter_advance()
26 memset(&iter->iomap, 0, sizeof(iter->iomap)); in iomap_iter_advance()
33 WARN_ON_ONCE(iter->iomap.offset > iter->pos); in iomap_iter_done()
34 WARN_ON_ONCE(iter->iomap.length == 0); in iomap_iter_done()
35 WARN_ON_ONCE(iter->iomap.offset + iter->iomap.length <= iter->pos); in iomap_iter_done()
37 trace_iomap_iter_dstmap(iter->inode, &iter->iomap); in iomap_iter_done()
61 if (iter->iomap.length && ops->iomap_end) { in iomap_iter()
64 iter->flags, &iter->iomap); in iomap_iter()
75 &iter->iomap, &iter->srcmap); in iomap_iter()
Dtrace.h18 #define TRACE_SYSTEM iomap
111 TP_PROTO(struct inode *inode, struct iomap *iomap),
112 TP_ARGS(inode, iomap),
126 __entry->addr = iomap->addr;
127 __entry->offset = iomap->offset;
128 __entry->length = iomap->length;
129 __entry->type = iomap->type;
130 __entry->flags = iomap->flags;
131 __entry->bdev = iomap->bdev ? iomap->bdev->bd_dev : 0;
147 TP_PROTO(struct inode *inode, struct iomap *iomap), \
[all …]
Ddirect-io.c70 dio->submit.last_queue = bdev_get_queue(iter->iomap.bdev); in iomap_dio_submit_bio()
190 bio_set_dev(bio, iter->iomap.bdev); in iomap_dio_zero()
191 bio->bi_iter.bi_sector = iomap_sector(&iter->iomap, pos); in iomap_dio_zero()
207 const struct iomap *iomap, bool use_fua) in iomap_dio_bio_opflags() argument
212 WARN_ON_ONCE(iomap->flags & IOMAP_F_ZONE_APPEND); in iomap_dio_bio_opflags()
216 if (iomap->flags & IOMAP_F_ZONE_APPEND) in iomap_dio_bio_opflags()
232 const struct iomap *iomap = &iter->iomap; in iomap_dio_bio_iter() local
234 unsigned int blkbits = blksize_bits(bdev_logical_block_size(iomap->bdev)); in iomap_dio_bio_iter()
250 if (iomap->type == IOMAP_UNWRITTEN) { in iomap_dio_bio_iter()
255 if (iomap->flags & IOMAP_F_SHARED) in iomap_dio_bio_iter()
[all …]
Dbuffered-io.c211 const struct iomap *iomap = iomap_iter_srcmap(iter); in iomap_read_inline_data() local
212 size_t size = i_size_read(iter->inode) - iomap->offset; in iomap_read_inline_data()
213 size_t poff = offset_in_page(iomap->offset); in iomap_read_inline_data()
222 offset_in_page(iomap->inline_data))) in iomap_read_inline_data()
224 if (WARN_ON_ONCE(size > iomap->length)) in iomap_read_inline_data()
230 memcpy(addr, iomap->inline_data, size); in iomap_read_inline_data()
240 const struct iomap *srcmap = iomap_iter_srcmap(iter); in iomap_block_needs_zeroing()
250 const struct iomap *iomap = &iter->iomap; in iomap_readpage_iter() local
259 if (iomap->type == IOMAP_INLINE) in iomap_readpage_iter()
278 sector = iomap_sector(iomap, pos); in iomap_readpage_iter()
[all …]
DMakefile9 obj-$(CONFIG_FS_IOMAP) += iomap.o
11 iomap-y += trace.o \
17 iomap-$(CONFIG_SWAP) += swapfile.o
/Linux-v5.15/include/linux/
Dio-mapping.h42 io_mapping_init_wc(struct io_mapping *iomap, in io_mapping_init_wc() argument
51 iomap->base = base; in io_mapping_init_wc()
52 iomap->size = size; in io_mapping_init_wc()
53 iomap->prot = prot; in io_mapping_init_wc()
54 return iomap; in io_mapping_init_wc()
125 io_mapping_init_wc(struct io_mapping *iomap, in io_mapping_init_wc() argument
129 iomap->iomem = ioremap_wc(base, size); in io_mapping_init_wc()
130 if (!iomap->iomem) in io_mapping_init_wc()
133 iomap->base = base; in io_mapping_init_wc()
134 iomap->size = size; in io_mapping_init_wc()
[all …]
Diomap.h81 struct iomap { struct
94 static inline sector_t iomap_sector(const struct iomap *iomap, loff_t pos) in iomap_sector() argument
96 return (iomap->addr + pos - iomap->offset) >> SECTOR_SHIFT; in iomap_sector()
102 static inline void *iomap_inline_data(const struct iomap *iomap, loff_t pos) in iomap_inline_data() argument
104 return iomap->inline_data + pos - iomap->offset; in iomap_inline_data()
112 static inline bool iomap_inline_data_valid(const struct iomap *iomap) in iomap_inline_data_valid() argument
114 return iomap->length <= PAGE_SIZE - offset_in_page(iomap->inline_data); in iomap_inline_data_valid()
152 unsigned flags, struct iomap *iomap,
153 struct iomap *srcmap);
162 ssize_t written, unsigned flags, struct iomap *iomap);
[all …]
Dexportfs.h10 struct iomap;
212 u64 len, struct iomap *iomap,
214 int (*commit_blocks)(struct inode *inode, struct iomap *iomaps,
/Linux-v5.15/drivers/ata/
Dpata_cs5520.c121 void __iomem *iomap[5]; in cs5520_init_one() local
166 iomap[0] = devm_ioport_map(&pdev->dev, cmd_port[0], 8); in cs5520_init_one()
167 iomap[1] = devm_ioport_map(&pdev->dev, ctl_port[0], 1); in cs5520_init_one()
168 iomap[2] = devm_ioport_map(&pdev->dev, cmd_port[1], 8); in cs5520_init_one()
169 iomap[3] = devm_ioport_map(&pdev->dev, ctl_port[1], 1); in cs5520_init_one()
170 iomap[4] = pcim_iomap(pdev, 2, 0); in cs5520_init_one()
172 if (!iomap[0] || !iomap[1] || !iomap[2] || !iomap[3] || !iomap[4]) in cs5520_init_one()
176 ioaddr->cmd_addr = iomap[0]; in cs5520_init_one()
177 ioaddr->ctl_addr = iomap[1]; in cs5520_init_one()
178 ioaddr->altstatus_addr = iomap[1]; in cs5520_init_one()
[all …]
Dsata_uli.c135 void __iomem * const *iomap; in uli_init_one() local
166 iomap = host->iomap; in uli_init_one()
177 ioaddr->cmd_addr = iomap[0] + 8; in uli_init_one()
180 ((unsigned long)iomap[1] | ATA_PCI_CTL_OFS) + 4; in uli_init_one()
181 ioaddr->bmdma_addr = iomap[4] + 16; in uli_init_one()
192 ioaddr->cmd_addr = iomap[2] + 8; in uli_init_one()
195 ((unsigned long)iomap[3] | ATA_PCI_CTL_OFS) + 4; in uli_init_one()
196 ioaddr->bmdma_addr = iomap[4] + 24; in uli_init_one()
/Linux-v5.15/fs/erofs/
Ddata.c159 unsigned int flags, struct iomap *iomap, struct iomap *srcmap) in erofs_iomap_begin() argument
171 iomap->bdev = inode->i_sb->s_bdev; in erofs_iomap_begin()
172 iomap->dax_dev = EROFS_I_SB(inode)->dax_dev; in erofs_iomap_begin()
173 iomap->offset = map.m_la; in erofs_iomap_begin()
174 iomap->length = map.m_llen; in erofs_iomap_begin()
175 iomap->flags = 0; in erofs_iomap_begin()
176 iomap->private = NULL; in erofs_iomap_begin()
179 iomap->type = IOMAP_HOLE; in erofs_iomap_begin()
180 iomap->addr = IOMAP_NULL_ADDR; in erofs_iomap_begin()
181 if (!iomap->length) in erofs_iomap_begin()
[all …]
/Linux-v5.15/fs/xfs/
Dxfs_iomap.c55 struct iomap *iomap, in xfs_bmbt_to_iomap() argument
66 iomap->addr = IOMAP_NULL_ADDR; in xfs_bmbt_to_iomap()
67 iomap->type = IOMAP_HOLE; in xfs_bmbt_to_iomap()
70 iomap->addr = IOMAP_NULL_ADDR; in xfs_bmbt_to_iomap()
71 iomap->type = IOMAP_DELALLOC; in xfs_bmbt_to_iomap()
73 iomap->addr = BBTOB(xfs_fsb_to_db(ip, imap->br_startblock)); in xfs_bmbt_to_iomap()
75 iomap->type = IOMAP_UNWRITTEN; in xfs_bmbt_to_iomap()
77 iomap->type = IOMAP_MAPPED; in xfs_bmbt_to_iomap()
79 iomap->offset = XFS_FSB_TO_B(mp, imap->br_startoff); in xfs_bmbt_to_iomap()
80 iomap->length = XFS_FSB_TO_B(mp, imap->br_blockcount); in xfs_bmbt_to_iomap()
[all …]
Dxfs_aops.c180 if (offset < wpc->iomap.offset || in xfs_imap_valid()
181 offset >= wpc->iomap.offset + wpc->iomap.length) in xfs_imap_valid()
188 if (wpc->iomap.flags & IOMAP_F_SHARED) in xfs_imap_valid()
237 &wpc->iomap, seq); in xfs_convert_blocks()
240 } while (wpc->iomap.offset + wpc->iomap.length <= offset); in xfs_convert_blocks()
353 xfs_bmbt_to_iomap(ip, &wpc->iomap, &imap, 0); in xfs_map_blocks()
380 if (cow_offset < wpc->iomap.offset + wpc->iomap.length) in xfs_map_blocks()
381 wpc->iomap.length = cow_offset - wpc->iomap.offset; in xfs_map_blocks()
384 ASSERT(wpc->iomap.offset <= offset); in xfs_map_blocks()
385 ASSERT(wpc->iomap.offset + wpc->iomap.length > offset); in xfs_map_blocks()
Dxfs_pnfs.h8 struct iomap *iomap, bool write, u32 *device_generation);
9 int xfs_fs_commit_blocks(struct inode *inode, struct iomap *maps, int nr_maps,
/Linux-v5.15/fs/gfs2/
Dbmap.c586 struct metapath *mp, struct iomap *iomap) in gfs2_hole_size() argument
601 iomap->length = hole_size << inode->i_blkbits; in gfs2_hole_size()
663 static int __gfs2_iomap_alloc(struct inode *inode, struct iomap *iomap, in __gfs2_iomap_alloc() argument
671 size_t dblks = iomap->length >> inode->i_blkbits; in __gfs2_iomap_alloc()
767 iomap->addr = bn << inode->i_blkbits; in __gfs2_iomap_alloc()
768 iomap->flags |= IOMAP_F_MERGED | IOMAP_F_NEW; in __gfs2_iomap_alloc()
773 } while (iomap->addr == IOMAP_NULL_ADDR); in __gfs2_iomap_alloc()
775 iomap->type = IOMAP_MAPPED; in __gfs2_iomap_alloc()
776 iomap->length = (u64)dblks << inode->i_blkbits; in __gfs2_iomap_alloc()
843 unsigned flags, struct iomap *iomap, in __gfs2_iomap_get() argument
[all …]
Dbmap.h53 struct iomap *iomap);
55 struct iomap *iomap);
/Linux-v5.15/fs/
Ddax.c1008 static sector_t dax_iomap_sector(const struct iomap *iomap, loff_t pos) in dax_iomap_sector() argument
1010 return (iomap->addr + (pos & PAGE_MASK) - iomap->offset) >> 9; in dax_iomap_sector()
1013 static int dax_iomap_pfn(const struct iomap *iomap, loff_t pos, size_t size, in dax_iomap_pfn() argument
1016 const sector_t sector = dax_iomap_sector(iomap, pos); in dax_iomap_pfn()
1021 rc = bdev_dax_pgoff(iomap->bdev, sector, size, &pgoff); in dax_iomap_pfn()
1025 length = dax_direct_access(iomap->dax_dev, pgoff, PHYS_PFN(size), in dax_iomap_pfn()
1071 const struct iomap *iomap, void **entry) in dax_pmd_load_hole() argument
1123 const struct iomap *iomap, void **entry) in dax_pmd_load_hole() argument
1129 s64 dax_iomap_zero(loff_t pos, u64 length, struct iomap *iomap) in dax_iomap_zero() argument
1131 sector_t sector = iomap_sector(iomap, pos & PAGE_MASK); in dax_iomap_zero()
[all …]
/Linux-v5.15/fs/nfsd/
Dblocklayout.c31 struct iomap iomap; in nfsd4_block_proc_layoutget() local
51 &iomap, seg->iomode != IOMODE_READ, in nfsd4_block_proc_layoutget()
59 if (iomap.length < args->lg_minlength) { in nfsd4_block_proc_layoutget()
64 switch (iomap.type) { in nfsd4_block_proc_layoutget()
70 bex->soff = iomap.addr; in nfsd4_block_proc_layoutget()
83 bex->soff = iomap.addr; in nfsd4_block_proc_layoutget()
95 WARN(1, "pnfsd: filesystem returned %d extent\n", iomap.type); in nfsd4_block_proc_layoutget()
102 bex->foff = iomap.offset; in nfsd4_block_proc_layoutget()
103 bex->len = iomap.length; in nfsd4_block_proc_layoutget()
105 seg->offset = iomap.offset; in nfsd4_block_proc_layoutget()
[all …]
Dblocklayoutxdr.h8 struct iomap;
57 int nfsd4_block_decode_layoutupdate(__be32 *p, u32 len, struct iomap **iomapp,
59 int nfsd4_scsi_decode_layoutupdate(__be32 *p, u32 len, struct iomap **iomapp,
/Linux-v5.15/fs/fuse/
Ddax.c388 static void fuse_fill_iomap_hole(struct iomap *iomap, loff_t length) in fuse_fill_iomap_hole() argument
390 iomap->addr = IOMAP_NULL_ADDR; in fuse_fill_iomap_hole()
391 iomap->length = length; in fuse_fill_iomap_hole()
392 iomap->type = IOMAP_HOLE; in fuse_fill_iomap_hole()
396 struct iomap *iomap, struct fuse_dax_mapping *dmap, in fuse_fill_iomap() argument
410 iomap->addr = dmap->window_offset + offset; in fuse_fill_iomap()
411 iomap->length = len; in fuse_fill_iomap()
413 iomap->length = ALIGN(len, PAGE_SIZE); in fuse_fill_iomap()
414 iomap->type = IOMAP_MAPPED; in fuse_fill_iomap()
423 WARN_ON_ONCE(iomap->private); in fuse_fill_iomap()
[all …]
/Linux-v5.15/fs/hpfs/
Dfile.c121 unsigned flags, struct iomap *iomap, struct iomap *srcmap) in hpfs_iomap_begin() argument
131 iomap->bdev = inode->i_sb->s_bdev; in hpfs_iomap_begin()
132 iomap->offset = offset; in hpfs_iomap_begin()
143 iomap->type = IOMAP_MAPPED; in hpfs_iomap_begin()
144 iomap->flags = IOMAP_F_MERGED; in hpfs_iomap_begin()
145 iomap->addr = (u64)s << blkbits; in hpfs_iomap_begin()
146 iomap->length = (u64)n_secs << blkbits; in hpfs_iomap_begin()
148 iomap->type = IOMAP_HOLE; in hpfs_iomap_begin()
149 iomap->addr = IOMAP_NULL_ADDR; in hpfs_iomap_begin()
150 iomap->length = 1 << blkbits; in hpfs_iomap_begin()
/Linux-v5.15/fs/zonefs/
Dtrace.h74 TP_PROTO(struct inode *inode, struct iomap *iomap),
75 TP_ARGS(inode, iomap),
86 __entry->addr = iomap->addr;
87 __entry->offset = iomap->offset;
88 __entry->length = iomap->length;
/Linux-v5.15/lib/
Ddevres.c437 void __iomem * const *iomap; in pcim_iomap_regions() local
440 iomap = pcim_iomap_table(pdev); in pcim_iomap_regions()
441 if (!iomap) in pcim_iomap_regions()
472 pcim_iounmap(pdev, iomap[i]); in pcim_iomap_regions()
514 void __iomem * const *iomap; in pcim_iounmap_regions() local
517 iomap = pcim_iomap_table(pdev); in pcim_iounmap_regions()
518 if (!iomap) in pcim_iounmap_regions()
525 pcim_iounmap(pdev, iomap[i]); in pcim_iounmap_regions()

12345