Searched refs:ioend (Results 1 – 12 of 12) sorted by relevance
| /linux-6.15/fs/iomap/ |
| H A D | ioend.c | 18 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 D | internal.h | 7 u32 iomap_finish_ioend_buffered(struct iomap_ioend *ioend); 8 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend);
|
| H A D | buffered-io.c | 1542 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 D | direct-io.c | 247 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 D | Makefile | 15 ioend.o \
|
| /linux-6.15/fs/xfs/ |
| H A D | xfs_aops.c | 43 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 D | xfs_zone_alloc.c | 366 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 D | xfs_zone_alloc.h | 32 void xfs_zone_alloc_and_submit(struct iomap_ioend *ioend, 43 void xfs_mark_rtg_boundary(struct iomap_ioend *ioend);
|
| H A D | xfs_file.c | 643 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 D | iomap.h | 448 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 D | operations.rst | 315 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 D | design.rst | 206 For a write or writeback operation, the ioend should update the
|