Home
last modified time | relevance | path

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

/linux/fs/iomap/
H A Dioend.c20 struct iomap_ioend *ioend = iomap_ioend_from_bio(bio); in iomap_init_ioend() local
22 atomic_set(&ioend->io_remaining, 1); in iomap_init_ioend()
23 ioend->io_error = 0; in iomap_init_ioend()
24 ioend->io_parent = NULL; in iomap_init_ioend()
25 INIT_LIST_HEAD(&ioend->io_list); in iomap_init_ioend()
26 ioend->io_flags = ioend_flags; in iomap_init_ioend()
27 ioend->io_inode = inode; in iomap_init_ioend()
28 ioend->io_offset = file_offset; in iomap_init_ioend()
29 ioend->io_size = bio->bi_iter.bi_size; in iomap_init_ioend()
30 ioend->io_sector = bio->bi_iter.bi_sector; in iomap_init_ioend()
[all …]
H A Dinternal.h20 u32 iomap_finish_ioend_buffered_read(struct iomap_ioend *ioend);
21 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend);
H A Dbio.c76 u32 iomap_finish_ioend_buffered_read(struct iomap_ioend *ioend) in iomap_finish_ioend_buffered_read() argument
78 return __iomap_read_end_io(&ioend->io_bio, ioend->io_error); in iomap_finish_ioend_buffered_read()
H A Ddirect-io.c281 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend) in iomap_finish_ioend_direct() argument
283 struct iomap_dio *dio = ioend->io_bio.bi_private; in iomap_finish_ioend_direct()
284 u32 vec_count = ioend->io_bio.bi_vcnt; in iomap_finish_ioend_direct()
286 if (ioend->io_error) in iomap_finish_ioend_direct()
287 iomap_dio_set_error(dio, ioend->io_error); in iomap_finish_ioend_direct()
288 __iomap_dio_bio_end_io(&ioend->io_bio, true); in iomap_finish_ioend_direct()
H A DMakefile15 ioend.o \
/linux/fs/xfs/
H A Dxfs_aops.c42 static inline bool xfs_ioend_is_append(struct iomap_ioend *ioend) in xfs_ioend_is_append() argument
44 return ioend->io_offset + ioend->io_size > in xfs_ioend_is_append()
45 XFS_I(ioend->io_inode)->i_disk_size; in xfs_ioend_is_append()
85 struct iomap_ioend *ioend) in xfs_ioend_put_open_zones() argument
92 list_for_each_entry(tmp, &ioend->io_list, io_list) in xfs_ioend_put_open_zones()
99 if (ioend->io_private) in xfs_ioend_put_open_zones()
100 xfs_open_zone_put(ioend->io_private); in xfs_ioend_put_open_zones()
108 struct iomap_ioend *ioend) in xfs_end_ioend_write() argument
110 struct xfs_inode *ip = XFS_I(ioend->io_inode); in xfs_end_ioend_write()
113 xfs_off_t offset = ioend->io_offset; in xfs_end_ioend_write()
[all …]
H A Dxfs_zone_alloc.c774 struct iomap_ioend *ioend) in xfs_mark_rtg_boundary() argument
776 struct xfs_mount *mp = XFS_I(ioend->io_inode)->i_mount; in xfs_mark_rtg_boundary()
777 sector_t sector = ioend->io_bio.bi_iter.bi_sector; in xfs_mark_rtg_boundary()
780 ioend->io_flags |= IOMAP_IOEND_BOUNDARY; in xfs_mark_rtg_boundary()
836 struct iomap_ioend *ioend, in xfs_submit_zoned_bio() argument
840 ioend->io_bio.bi_iter.bi_sector = ioend->io_sector; in xfs_submit_zoned_bio()
841 ioend->io_private = oz; in xfs_submit_zoned_bio()
845 ioend->io_bio.bi_opf &= ~REQ_OP_WRITE; in xfs_submit_zoned_bio()
846 ioend->io_bio.bi_opf |= REQ_OP_ZONE_APPEND; in xfs_submit_zoned_bio()
848 xfs_mark_rtg_boundary(ioend); in xfs_submit_zoned_bio()
[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.c712 struct iomap_ioend *ioend; in xfs_dio_zoned_submit_io() local
726 ioend = iomap_init_ioend(iter->inode, bio, file_offset, in xfs_dio_zoned_submit_io()
728 xfs_zone_alloc_and_submit(ioend, &ac->open_zone); in xfs_dio_zoned_submit_io()
/linux/include/linux/
H A Diomap.h480 struct iomap_ioend *iomap_split_ioend(struct iomap_ioend *ioend,
482 void iomap_finish_ioends(struct iomap_ioend *ioend, int error);
483 void iomap_ioend_try_merge(struct iomap_ioend *ioend,
/linux/Documentation/filesystems/iomap/
H A Doperations.rst373 deferring the ioend completion to a workqueue to run metadata update
384 bit on the folios attached to the ``ioend``.
409 * ``iomap_ioend_try_merge``: Given an ioend that is not in any list and
411 the head of the list into the given ioend.
417 * ``iomap_finish_ioends``: Finish an ioend that possibly has other
617 * ``IOMAP_DIO_UNWRITTEN``: The mapping was unwritten, so the ioend
621 copy on write operation, so the ioend should switch mappings.
H A Ddesign.rst205 For a write or writeback operation, the ioend should update the