Searched refs:ioend (Results 1 – 8 of 8) sorted by relevance
| /linux/fs/iomap/ |
| H A D | ioend.c | 21 struct iomap_ioend *ioend = iomap_ioend_from_bio(bio); in iomap_init_ioend() local 23 atomic_set(&ioend->io_remaining, 1); in iomap_init_ioend() 24 ioend->io_error = 0; in iomap_init_ioend() 25 ioend->io_parent = NULL; in iomap_init_ioend() 26 INIT_LIST_HEAD(&ioend->io_list); in iomap_init_ioend() 27 ioend->io_flags = ioend_flags; in iomap_init_ioend() 28 ioend->io_inode = inode; in iomap_init_ioend() 29 ioend->io_offset = file_offset; in iomap_init_ioend() 30 ioend->io_size = bio->bi_iter.bi_size; in iomap_init_ioend() 31 ioend->io_sector = bio->bi_iter.bi_sector; in iomap_init_ioend() [all …]
|
| H A D | bio.c | 76 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 D | Makefile | 15 ioend.o \
|
| H A D | direct-io.c | 282 u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend) in iomap_finish_ioend_direct() argument 284 struct iomap_dio *dio = ioend->io_bio.bi_private; in iomap_finish_ioend_direct() 285 u32 vec_count = ioend->io_bio.bi_vcnt; in iomap_finish_ioend_direct() 287 if (ioend->io_error) in iomap_finish_ioend_direct() 288 iomap_dio_set_error(dio, ioend->io_error); in iomap_finish_ioend_direct() 289 __iomap_dio_bio_end_io(&ioend->io_bio, true); in iomap_finish_ioend_direct()
|
| /linux/fs/xfs/ |
| H A D | xfs_aops.c | 42 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 D | xfs_zone_alloc.c | 775 struct iomap_ioend *ioend) in xfs_mark_rtg_boundary() argument 777 struct xfs_mount *mp = XFS_I(ioend->io_inode)->i_mount; in xfs_mark_rtg_boundary() 778 sector_t sector = ioend->io_bio.bi_iter.bi_sector; in xfs_mark_rtg_boundary() 781 ioend->io_flags |= IOMAP_IOEND_BOUNDARY; in xfs_mark_rtg_boundary() 837 struct iomap_ioend *ioend, in xfs_submit_zoned_bio() argument 841 ioend->io_bio.bi_iter.bi_sector = ioend->io_sector; in xfs_submit_zoned_bio() 842 ioend->io_private = oz; in xfs_submit_zoned_bio() 846 ioend->io_bio.bi_opf &= ~REQ_OP_WRITE; in xfs_submit_zoned_bio() 847 ioend->io_bio.bi_opf |= REQ_OP_ZONE_APPEND; in xfs_submit_zoned_bio() 849 xfs_mark_rtg_boundary(ioend); in xfs_submit_zoned_bio() [all …]
|
| /linux/include/linux/ |
| H A D | iomap.h | 562 struct iomap_ioend *iomap_split_ioend(struct iomap_ioend *ioend, 564 void iomap_finish_ioends(struct iomap_ioend *ioend, int error); 565 void iomap_ioend_try_merge(struct iomap_ioend *ioend,
|
| /linux/Documentation/filesystems/iomap/ |
| H A D | operations.rst | 373 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.
|