Home
last modified time | relevance | path

Searched refs:ioend (Results 1 – 12 of 12) sorted by relevance

/linux-6.15/fs/iomap/
H A Dioend.c18 ioend->io_error = 0; in iomap_init_ioend()
19 ioend->io_parent = NULL; in iomap_init_ioend()
22 ioend->io_inode = inode; in iomap_init_ioend()
26 ioend->io_private = NULL; in iomap_init_ioend()
27 return ioend; in iomap_init_ioend()
33 if (ioend->io_parent) { in iomap_finish_ioend()
36 ioend = ioend->io_parent; in iomap_finish_ioend()
93 if (ioend->io_offset + ioend->io_size != next->io_offset) in iomap_ioend_can_merge()
105 if (ioend->io_sector + (ioend->io_size >> SECTOR_SHIFT) != in iomap_ioend_can_merge()
195 split_ioend = iomap_init_ioend(ioend->io_inode, split, ioend->io_offset, in iomap_split_ioend()
[all …]
H A Dinternal.h7 u32 iomap_finish_ioend_buffered(struct iomap_ioend *ioend);
8 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend);
H A Dbuffered-io.c1542 struct bio *bio = &ioend->io_bio; in iomap_finish_ioend_buffered()
1546 if (ioend->io_error) { in iomap_finish_ioend_buffered()
1552 ioend->io_offset, ioend->io_sector); in iomap_finish_ioend_buffered()
1585 if (!wpc->ioend) in iomap_submit_ioend()
1600 submit_bio(&wpc->ioend->io_bio); in iomap_submit_ioend()
1605 bio_endio(&wpc->ioend->io_bio); in iomap_submit_ioend()
1608 wpc->ioend = NULL; in iomap_submit_ioend()
1637 if (pos != wpc->ioend->io_offset + wpc->ioend->io_size) in iomap_can_add_to_ioend()
1737 wpc->ioend->io_size += len; in iomap_add_to_ioend()
1738 if (wpc->ioend->io_offset + wpc->ioend->io_size > end_pos) in iomap_add_to_ioend()
[all …]
H A Ddirect-io.c247 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend) in iomap_finish_ioend_direct() argument
249 struct iomap_dio *dio = ioend->io_bio.bi_private; in iomap_finish_ioend_direct()
251 u32 vec_count = ioend->io_bio.bi_vcnt; in iomap_finish_ioend_direct()
253 if (ioend->io_error) in iomap_finish_ioend_direct()
254 iomap_dio_set_error(dio, ioend->io_error); in iomap_finish_ioend_direct()
274 bio_check_pages_dirty(&ioend->io_bio); in iomap_finish_ioend_direct()
276 bio_release_pages(&ioend->io_bio, false); in iomap_finish_ioend_direct()
277 bio_put(&ioend->io_bio); in iomap_finish_ioend_direct()
H A DMakefile15 ioend.o \
/linux-6.15/fs/xfs/
H A Dxfs_aops.c43 return ioend->io_offset + ioend->io_size > in xfs_ioend_is_append()
84 struct iomap_ioend *ioend) in xfs_ioend_put_open_zones() argument
98 if (ioend->io_private) in xfs_ioend_put_open_zones()
107 struct iomap_ioend *ioend) in xfs_end_ioend() argument
113 size_t size = ioend->io_size; in xfs_end_ioend()
192 struct iomap_ioend *ioend; in xfs_end_io() local
205 xfs_end_ioend(ioend); in xfs_end_io()
225 xfs_mark_rtg_boundary(ioend); in xfs_end_bio()
444 struct iomap_ioend *ioend = wpc->ioend; in xfs_submit_ioend() local
457 ioend->io_offset, ioend->io_size); in xfs_submit_ioend()
[all …]
H A Dxfs_zone_alloc.c366 struct iomap_ioend *ioend) in xfs_last_used_zone() argument
770 struct iomap_ioend *ioend) in xfs_mark_rtg_boundary() argument
781 struct iomap_ioend *ioend, in xfs_submit_zoned_bio() argument
785 ioend->io_bio.bi_iter.bi_sector = ioend->io_sector; in xfs_submit_zoned_bio()
786 ioend->io_private = oz; in xfs_submit_zoned_bio()
793 xfs_mark_rtg_boundary(ioend); in xfs_submit_zoned_bio()
796 submit_bio(&ioend->io_bio); in xfs_submit_zoned_bio()
801 struct iomap_ioend *ioend, in xfs_zone_alloc_and_submit() argument
820 if (!*oz && ioend->io_offset) in xfs_zone_alloc_and_submit()
830 &ioend->io_sector, &is_seq); in xfs_zone_alloc_and_submit()
[all …]
H A Dxfs_zone_alloc.h32 void xfs_zone_alloc_and_submit(struct iomap_ioend *ioend,
43 void xfs_mark_rtg_boundary(struct iomap_ioend *ioend);
H A Dxfs_file.c643 struct iomap_ioend *ioend; in xfs_dio_zoned_submit_io() local
657 ioend = iomap_init_ioend(iter->inode, bio, file_offset, in xfs_dio_zoned_submit_io()
659 xfs_zone_alloc_and_submit(ioend, &ac->open_zone); in xfs_dio_zoned_submit_io()
/linux-6.15/include/linux/
H A Diomap.h448 struct iomap_ioend *ioend; member
455 struct iomap_ioend *iomap_split_ioend(struct iomap_ioend *ioend,
457 void iomap_finish_ioends(struct iomap_ioend *ioend, int error);
458 void iomap_ioend_try_merge(struct iomap_ioend *ioend,
/linux-6.15/Documentation/filesystems/iomap/
H A Doperations.rst315 deferring the ioend completion to a workqueue to run metadata update
338 bit on the folios attached to the ``ioend``.
364 * ``iomap_ioend_try_merge``: Given an ioend that is not in any list and
366 the head of the list into the given ioend.
372 * ``iomap_finish_ioends``: Finish an ioend that possibly has other
576 * ``IOMAP_DIO_UNWRITTEN``: The mapping was unwritten, so the ioend
580 copy on write operation, so the ioend should switch mappings.
H A Ddesign.rst206 For a write or writeback operation, the ioend should update the