| /linux/include/linux/ |
| H A D | bio.h | 9 /* struct bio, bio_vec and BIO_* flags are defined in blk_types.h */ 23 #define bio_iter_iovec(bio, iter) \ argument 24 bvec_iter_bvec((bio)->bi_io_vec, (iter)) 26 #define bio_iter_page(bio, iter) \ argument 27 bvec_iter_page((bio)->bi_io_vec, (iter)) 28 #define bio_iter_len(bio, iter) \ argument 29 bvec_iter_len((bio)->bi_io_vec, (iter)) 30 #define bio_iter_offset(bio, iter) \ argument 31 bvec_iter_offset((bio)->bi_io_vec, (iter)) 33 #define bio_page(bio) bio_iter_pag argument 34 bio_offset(bio) global() argument 35 bio_iovec(bio) global() argument 40 bio_sectors(bio) global() argument 41 bio_end_sector(bio) global() argument 46 bio_data_dir(bio) global() argument 49 bio_flagged(const struct bio * bio,unsigned int bit) bio_flagged() argument 54 bio_set_flag(struct bio * bio,unsigned int bit) bio_set_flag() argument 59 bio_clear_flag(struct bio * bio,unsigned int bit) bio_clear_flag() argument 67 bio_has_data(struct bio * bio) bio_has_data() argument 79 bio_no_advance_iter(const struct bio * bio) bio_no_advance_iter() argument 86 bio_data(struct bio * bio) bio_data() argument 94 bio_next_segment(const struct bio * bio,struct bvec_iter_all * iter) bio_next_segment() argument 108 bio_for_each_segment_all(bvl,bio,iter) global() argument 111 bio_advance_iter(const struct bio * bio,struct bvec_iter * iter,unsigned int bytes) bio_advance_iter() argument 124 bio_advance_iter_single(const struct bio * bio,struct bvec_iter * iter,unsigned int bytes) bio_advance_iter_single() argument 149 bio_advance(struct bio * bio,unsigned int nbytes) bio_advance() argument 158 __bio_for_each_segment(bvl,bio,iter,start) global() argument 164 bio_for_each_segment(bvl,bio,iter) global() argument 167 __bio_for_each_bvec(bvl,bio,iter,start) global() argument 174 bio_for_each_bvec(bvl,bio,iter) global() argument 181 bio_for_each_bvec_all(bvl,bio,i) global() argument 187 bio_segments(struct bio * bio) bio_segments() argument 227 bio_get(struct bio * bio) bio_get() argument 234 bio_cnt_set(struct bio * bio,unsigned int count) bio_cnt_set() argument 243 bio_first_bvec_all(struct bio * bio) bio_first_bvec_all() argument 249 bio_first_page_all(struct bio * bio) bio_first_page_all() argument 254 bio_first_folio_all(struct bio * bio) bio_first_folio_all() argument 276 bio_first_folio(struct folio_iter * fi,struct bio * bio,int i) bio_first_folio() argument 295 bio_next_folio(struct folio_iter * fi,struct bio * bio) bio_next_folio() argument 313 bio_for_each_folio_all(fi,bio) global() argument 334 bio_next_split(struct bio * bio,int sectors,gfp_t gfp,struct bio_set * bs) bio_next_split() argument 374 bio_io_error(struct bio * bio) bio_io_error() argument 380 bio_wouldblock_error(struct bio * bio) bio_wouldblock_error() argument 426 bio_init_inline(struct bio * bio,struct block_device * bdev,unsigned short max_vecs,blk_opf_t opf) bio_init_inline() argument 489 zero_fill_bio(struct bio * bio) zero_fill_bio() argument 494 bio_release_pages(struct bio * bio,bool mark_dirty) bio_release_pages() argument 500 bio_dev(bio) global() argument 510 bio_associate_blkg(struct bio * bio) bio_associate_blkg() argument 511 bio_associate_blkg_from_css(struct bio * bio,struct cgroup_subsys_state * css) bio_associate_blkg_from_css() argument 516 blkcg_punt_bio_submit(struct bio * bio) blkcg_punt_bio_submit() argument 522 bio_set_dev(struct bio * bio,struct block_device * bdev) bio_set_dev() argument 555 bio_list_for_each(bio,bl) global() argument 561 struct bio *bio; bio_list_size() local 569 bio_list_add(struct bio_list * bl,struct bio * bio) bio_list_add() argument 581 bio_list_add_head(struct bio_list * bl,struct bio * bio) bio_list_add_head() argument 632 struct bio *bio = bl->head; bio_list_pop() local 647 struct bio *bio = bl->head; bio_list_get() local 658 bio_inc_remaining(struct bio * bio) bio_inc_remaining() argument 713 bio_set_polled(struct bio * bio,struct kiocb * kiocb) bio_set_polled() argument 720 bio_clear_polled(struct bio * bio) bio_clear_polled() argument 734 bio_is_zone_append(struct bio * bio) bio_is_zone_append() argument [all...] |
| /linux/block/ |
| H A D | bio.c | 7 #include <linux/bio-integrity.h> 32 struct bio *free_list; 33 struct bio *free_list_irq; 70 * fs_bio_set is the bio_set containing bio and iovec memory pools used by 95 snprintf(bslab->name, sizeof(bslab->name), "bio-%d", size); in create_bio_slab() 117 return bs->front_pad + sizeof(struct bio) + bs->back_pad; in bs_bio_slab_size() 120 static inline void *bio_slab_addr(struct bio *bio) in bio_slab_addr() argument 122 return (void *)bio - bio in bio_slab_addr() 180 bio_uninit(struct bio * bio) bio_uninit() argument 195 bio_free(struct bio * bio) bio_free() argument 217 bio_init(struct bio * bio,struct block_device * bdev,struct bio_vec * table,unsigned short max_vecs,blk_opf_t opf) bio_init() argument 274 bio_reset(struct bio * bio,struct block_device * bdev,blk_opf_t opf) bio_reset() argument 304 bio_reuse(struct bio * bio,blk_opf_t opf) bio_reuse() argument 323 __bio_chain_endio(struct bio * bio) __bio_chain_endio() argument 337 bio_chain_endio(struct bio * bio) bio_chain_endio() argument 353 bio_chain(struct bio * bio,struct bio * parent) bio_chain() argument 381 blk_next_bio(struct bio * bio,struct block_device * bdev,unsigned int nr_pages,blk_opf_t opf,gfp_t gfp) blk_next_bio() argument 391 struct bio *bio; bio_alloc_rescue() local 422 struct bio *bio; punt_bios_to_rescuer() local 479 struct bio *bio; bio_alloc_percpu_cache() local 539 struct bio *bio = NULL; bio_alloc_bioset() local 629 struct bio *bio; bio_kmalloc() local 638 zero_fill_bio_iter(struct bio * bio,struct bvec_iter start) zero_fill_bio_iter() argument 658 bio_truncate(struct bio * bio,unsigned new_size) bio_truncate() argument 710 guard_bio_eod(struct bio * bio) guard_bio_eod() argument 736 struct bio *bio; __bio_alloc_cache_prune() local 792 bio_put_percpu_cache(struct bio * bio) bio_put_percpu_cache() argument 834 bio_put(struct bio * bio) bio_put() argument 848 __bio_clone(struct bio * bio,struct bio * bio_src,gfp_t gfp) __bio_clone() argument 887 struct bio *bio; bio_alloc_clone() local 913 bio_init_clone(struct block_device * bdev,struct bio * bio,struct bio * bio_src,gfp_t gfp) bio_init_clone() argument 934 bio_full(struct bio * bio,unsigned len) bio_full() argument 998 __bio_add_page(struct bio * bio,struct page * page,unsigned int len,unsigned int off) __bio_add_page() argument 1023 bio_add_virt_nofail(struct bio * bio,void * vaddr,unsigned len) bio_add_virt_nofail() argument 1039 bio_add_page(struct bio * bio,struct page * page,unsigned int len,unsigned int offset) bio_add_page() argument 1068 bio_add_folio_nofail(struct bio * bio,struct folio * folio,size_t len,size_t off) bio_add_folio_nofail() argument 1092 bio_add_folio(struct bio * bio,struct folio * folio,size_t len,size_t off) bio_add_folio() argument 1117 bio_add_vmalloc_chunk(struct bio * bio,void * vaddr,unsigned len) bio_add_vmalloc_chunk() argument 1143 bio_add_vmalloc(struct bio * bio,void * vaddr,unsigned int len) bio_add_vmalloc() argument 1158 __bio_release_pages(struct bio * bio,bool mark_dirty) __bio_release_pages() argument 1177 bio_iov_bvec_set(struct bio * bio,const struct iov_iter * iter) bio_iov_bvec_set() argument 1193 bio_iov_iter_align_down(struct bio * bio,struct iov_iter * iter,unsigned len_align_mask) bio_iov_iter_align_down() argument 1244 bio_iov_iter_get_pages(struct bio * bio,struct iov_iter * iter,unsigned len_align_mask) bio_iov_iter_get_pages() argument 1297 bio_free_folios(struct bio * bio) bio_free_folios() argument 1310 bio_iov_iter_bounce_write(struct bio * bio,struct iov_iter * iter,size_t maxlen,size_t minsize) bio_iov_iter_bounce_write() argument 1351 bio_iov_iter_bounce_read(struct bio * bio,struct iov_iter * iter,size_t maxlen,size_t minsize) bio_iov_iter_bounce_read() argument 1402 bio_iov_iter_bounce(struct bio * bio,struct iov_iter * iter,size_t maxlen,size_t minsize) bio_iov_iter_bounce() argument 1421 bio_iov_iter_unbounce_read(struct bio * bio,bool is_error,bool mark_dirty) bio_iov_iter_unbounce_read() argument 1461 bio_iov_iter_unbounce(struct bio * bio,bool is_error,bool mark_dirty) bio_iov_iter_unbounce() argument 1469 bio_wait_end_io(struct bio * bio) bio_wait_end_io() argument 1487 bio_await(struct bio * bio,void * priv,void (* submit)(struct bio * bio,void * priv)) bio_await() argument 1488 bio_await(struct bio * bio,void * priv,void (* submit)(struct bio * bio,void * priv)) bio_await() argument 1515 submit_bio_wait(struct bio * bio) submit_bio_wait() argument 1522 bio_endio_cb(struct bio * bio,void * priv) bio_endio_cb() argument 1531 bio_submit_or_kill(struct bio * bio,unsigned int flags) bio_submit_or_kill() argument 1556 struct bio bio; bdev_rw_virt() local 1571 __bio_advance(struct bio * bio,unsigned bytes) __bio_advance() argument 1619 bio_free_pages(struct bio * bio) bio_free_pages() argument 1652 bio_set_pages_dirty(struct bio * bio) bio_set_pages_dirty() argument 1686 struct bio *bio, *next; bio_dirty_fn() local 1701 bio_check_pages_dirty(struct bio * bio) bio_check_pages_dirty() argument 1723 bio_remaining_done(struct bio * bio) bio_remaining_done() argument 1755 bio_endio(struct bio * bio) bio_endio() argument 1816 bio_split(struct bio * bio,int sectors,gfp_t gfp,struct bio_set * bs) bio_split() argument 1861 bio_trim(struct bio * bio,sector_t offset,sector_t size) bio_trim() argument [all...] |
| H A D | blk-map.c | 40 static inline void blk_mq_map_bio_put(struct bio *bio) in blk_mq_map_bio_put() argument 42 bio_put(bio); in blk_mq_map_bio_put() 45 static struct bio *blk_rq_map_bio_alloc(struct request *rq, in blk_rq_map_bio_alloc() 49 struct bio *bio; in blk_rq_map_bio_alloc() local 51 bio = bio_alloc_bioset(bdev, nr_vecs, rq->cmd_flags, gfp_mask, in blk_rq_map_bio_alloc() 53 if (!bio) in blk_rq_map_bio_alloc() 56 return bio; in blk_rq_map_bio_alloc() 67 static int bio_copy_from_iter(struct bio *bio, struct iov_iter *iter) in bio_copy_from_iter() argument 72 bio_for_each_segment_all(bvec, bio, iter_all) { in bio_copy_from_iter() 98 static int bio_copy_to_iter(struct bio *bio, struct iov_iter iter) in bio_copy_to_iter() argument [all …]
|
| H A D | blk.h | 5 #include <linux/bio-integrity.h> 62 int __bio_queue_enter(struct request_queue *q, struct bio *bio); in blk_try_enter_queue() 63 void submit_bio_noacct_nocheck(struct bio *bio, bool split); in blk_try_enter_queue() 64 int bio_submit_or_kill(struct bio *bio, unsigned int flags); in blk_try_enter_queue() 90 static inline int bio_queue_enter(struct bio *bio) in bio_queue_enter() 92 struct request_queue *q = bdev_get_queue(bio in bio_queue_enter() 84 bio_queue_enter(struct bio * bio) bio_queue_enter() argument 255 bio_integrity_endio(struct bio * bio) bio_integrity_endio() argument 281 integrity_req_gap_front_merge(struct request * req,struct bio * bio) integrity_req_gap_front_merge() argument 309 integrity_req_gap_front_merge(struct request * req,struct bio * bio) integrity_req_gap_front_merge() argument 317 bio_integrity_endio(struct bio * bio) bio_integrity_endio() argument 321 bio_integrity_free(struct bio * bio) bio_integrity_free() argument 391 bio_may_need_split(struct bio * bio,const struct queue_limits * lim) bio_may_need_split() argument 421 __bio_split_to_limits(struct bio * bio,const struct queue_limits * lim,unsigned int * nr_segs) __bio_split_to_limits() argument 504 bio_zone_write_plugging(struct bio * bio) bio_zone_write_plugging() argument 509 blk_req_bio_is_zone_append(struct request * rq,struct bio * bio) blk_req_bio_is_zone_append() argument 519 blk_zone_bio_endio(struct bio * bio) blk_zone_bio_endio() argument 559 bio_zone_write_plugging(struct bio * bio) bio_zone_write_plugging() argument 564 blk_req_bio_is_zone_append(struct request * req,struct bio * bio) blk_req_bio_is_zone_append() argument 568 blk_zone_write_plug_bio_merged(struct bio * bio) blk_zone_write_plug_bio_merged() argument 575 blk_zone_append_update_request_bio(struct request * rq,struct bio * bio) blk_zone_append_update_request_bio() argument 578 blk_zone_bio_endio(struct bio * bio) blk_zone_bio_endio() argument [all...] |
| H A D | blk-core.c | 9 * bio rewrite, highmem i/o, etc, Jens Axboe <axboe@suse.de> - may 2001 17 #include <linux/bio.h> 376 int __bio_queue_enter(struct request_queue *q, struct bio *bio) in blk_queue_usage_counter_release() 379 struct gendisk *disk = bio->bi_bdev->bd_disk; in blk_queue_usage_counter_release() 381 if (bio->bi_opf & REQ_NOWAIT) { 384 bio_wouldblock_error(bio); in blk_rq_timed_out_timer() 408 bio_io_error(bio); in blk_alloc_queue() 566 static inline void bio_check_ro(struct bio *bio) in bio_check_eod() 333 __bio_queue_enter(struct request_queue * q,struct bio * bio) __bio_queue_enter() argument 523 bio_check_ro(struct bio * bio) bio_check_ro() argument 543 should_fail_bio(struct bio * bio) should_fail_bio() argument 556 bio_check_eod(struct bio * bio) bio_check_eod() argument 578 blk_partition_remap(struct bio * bio) blk_partition_remap() argument 598 blk_check_zone_append(struct request_queue * q,struct bio * bio) blk_check_zone_append() argument 627 __submit_bio(struct bio * bio) __submit_bio() argument 671 __submit_bio_noacct(struct bio * bio) __submit_bio_noacct() argument 715 __submit_bio_noacct_mq(struct bio * bio) __submit_bio_noacct_mq() argument 728 submit_bio_noacct_nocheck(struct bio * bio,bool split) submit_bio_noacct_nocheck() argument 760 blk_validate_atomic_write_op_size(struct request_queue * q,struct bio * bio) blk_validate_atomic_write_op_size() argument 780 submit_bio_noacct(struct bio * bio) submit_bio_noacct() argument 895 bio_set_ioprio(struct bio * bio) bio_set_ioprio() argument 916 submit_bio(struct bio * bio) submit_bio() argument 942 bio_poll(struct bio * bio,struct io_comp_batch * iob,unsigned int flags) bio_poll() argument 991 struct bio *bio; iocb_bio_iopoll() local 1058 bio_start_io_acct(struct bio * bio) bio_start_io_acct() argument 1081 bio_end_io_acct_remapped(struct bio * bio,unsigned long start_time,struct block_device * orig_bdev) bio_end_io_acct_remapped() argument [all...] |
| H A D | bio-integrity.c | 25 unsigned int __bio_integrity_action(struct bio *bio) in __bio_integrity_action() argument 27 struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk); in __bio_integrity_action() 29 if (WARN_ON_ONCE(bio_has_crypt_ctx(bio))) in __bio_integrity_action() 32 switch (bio_op(bio)) { in __bio_integrity_action() 44 if (!bio_sectors(bio)) in __bio_integrity_action() 67 void bio_integrity_alloc_buf(struct bio *bio, bool zero_buffer) in bio_integrity_alloc_buf() argument 69 struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk); in bio_integrity_alloc_buf() 70 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_alloc_buf() 71 unsigned int len = bio_integrity_bytes(bi, bio_sectors(bio)); in bio_integrity_alloc_buf() 104 void bio_integrity_setup_default(struct bio *bio) in bio_integrity_setup_default() argument [all …]
|
| H A D | blk-rq-qos.h | 38 void (*throttle)(struct rq_qos *, struct bio *); 39 void (*track)(struct rq_qos *, struct request *, struct bio *); 40 void (*merge)(struct rq_qos *, struct request *, struct bio *); 44 void (*done_bio)(struct rq_qos *, struct bio *); 45 void (*cleanup)(struct rq_qos *, struct bio *); 103 void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio); 107 void __rq_qos_throttle(struct rq_qos *rqos, struct bio *bio); 108 void __rq_qos_track(struct rq_qos *rqos, struct request *rq, struct bio *bio); 109 void __rq_qos_merge(struct rq_qos *rqos, struct request *rq, struct bio *bio); 110 void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio); [all …]
|
| H A D | bio-integrity-auto.c | 17 struct bio *bio; member 30 bid->bio->bi_integrity = NULL; in bio_integrity_finish() 31 bid->bio->bi_opf &= ~REQ_INTEGRITY; in bio_integrity_finish() 40 struct bio *bio = bid->bio; in bio_integrity_verify_fn() local 42 bio->bi_status = bio_integrity_verify(bio, &bid->saved_bio_iter); in bio_integrity_verify_fn() 44 bio_endio(bio); in bio_integrity_verify_fn() 62 bool __bio_integrity_endio(struct bio *bio) in __bio_integrity_endio() argument 64 struct bio_integrity_payload *bip = bio_integrity(bio); in __bio_integrity_endio() 68 if (bio_op(bio) == REQ_OP_READ && !bio->bi_status && in __bio_integrity_endio() 89 void bio_integrity_prep(struct bio *bio, unsigned int action) in bio_integrity_prep() argument [all …]
|
| H A D | fops.c | 46 static inline int blkdev_iov_iter_get_pages(struct bio *bio, in blkdev_iov_iter_get_pages() argument 49 return bio_iov_iter_get_pages(bio, iter, in blkdev_iov_iter_get_pages() 62 struct bio bio; in __blkdev_direct_IO_simple() local 74 bio_init(&bio, bdev, vecs, nr_pages, REQ_OP_READ); in __blkdev_direct_IO_simple() 78 bio_init(&bio, bdev, vecs, nr_pages, dio_bio_write_op(iocb)); in __blkdev_direct_IO_simple() 80 bio.bi_iter.bi_sector = pos >> SECTOR_SHIFT; in __blkdev_direct_IO_simple() 81 bio.bi_write_hint = file_inode(iocb->ki_filp)->i_write_hint; in __blkdev_direct_IO_simple() 82 bio in __blkdev_direct_IO_simple() 131 blkdev_bio_end_io(struct bio * bio) blkdev_bio_end_io() argument 180 struct bio *bio; __blkdev_direct_IO() local 293 blkdev_bio_end_io_async(struct bio * bio) blkdev_bio_end_io_async() argument 329 struct bio *bio; __blkdev_direct_IO_async() local [all...] |
| H A D | bio-integrity-fs.c | 17 unsigned int fs_bio_integrity_alloc(struct bio *bio) in fs_bio_integrity_alloc() argument 22 action = bio_integrity_action(bio); in fs_bio_integrity_alloc() 27 bio_integrity_init(bio, &iib->bip, &iib->bvec, 1); in fs_bio_integrity_alloc() 29 bio_integrity_alloc_buf(bio, action & BI_ACT_ZERO); in fs_bio_integrity_alloc() 31 bio_integrity_setup_default(bio); in fs_bio_integrity_alloc() 35 void fs_bio_integrity_free(struct bio *bio) in fs_bio_integrity_free() argument 37 struct bio_integrity_payload *bip = bio_integrity(bio); in fs_bio_integrity_free() 43 bio->bi_integrity = NULL; in fs_bio_integrity_free() 44 bio->bi_opf &= ~REQ_INTEGRITY; in fs_bio_integrity_free() 47 void fs_bio_integrity_generate(struct bio *bio) in fs_bio_integrity_generate() argument [all …]
|
| H A D | blk-crypto-fallback.c | 38 "Number of preallocated bio fallback crypto contexts for blk-crypto to use during crypto API fallback"); 43 * Copy of the bvec_iter when this bio was submitted. 44 * We only want to en/decrypt the part of the bio as described by the 45 * bvec_iter upon submission because bio might be split before being 52 struct bio *bio; member 144 static void blk_crypto_fallback_encrypt_endio(struct bio *enc_bio) in blk_crypto_fallback_encrypt_endio() 146 struct bio *src_bio = enc_bio->bi_private; in blk_crypto_fallback_encrypt_endio() 172 static struct bio *blk_crypto_alloc_enc_bio(struct bio *bio_sr 178 struct bio *bio; blk_crypto_alloc_enc_bio() local 373 __blk_crypto_fallback_decrypt_bio(struct bio * bio,struct bio_crypt_ctx * bc,struct bvec_iter iter,struct crypto_sync_skcipher * tfm) __blk_crypto_fallback_decrypt_bio() argument 425 struct bio *bio = f_ctx->bio; blk_crypto_fallback_decrypt_bio() local 452 blk_crypto_fallback_decrypt_endio(struct bio * bio) blk_crypto_fallback_decrypt_endio() argument 489 blk_crypto_fallback_bio_prep(struct bio * bio) blk_crypto_fallback_bio_prep() argument [all...] |
| /linux/drivers/md/bcache/ |
| H A D | request.c | 40 static void bio_csum(struct bio *bio, struct bkey *k) in bio_csum() argument 46 bio_for_each_segment(bv, bio, iter) { in bio_csum() 111 struct bio *bio = op->bio; in bch_data_invalidate() local 114 bio_sectors(bio), (uint64_t) bio->bi_iter.bi_sector); in bch_data_invalidate() 116 while (bio_sectors(bio)) { in bch_data_invalidate() 117 unsigned int sectors = min(bio_sectors(bio), in bch_data_invalidate() 123 bio->bi_iter.bi_sector += sectors; in bch_data_invalidate() 124 bio->bi_iter.bi_size -= sectors << 9; in bch_data_invalidate() 128 bio->bi_iter.bi_sector, in bch_data_invalidate() 134 bio_put(bio); in bch_data_invalidate() [all …]
|
| /linux/fs/iomap/ |
| H A D | bio.c | 15 static u32 __iomap_read_end_io(struct bio *bio, int error) in __iomap_read_end_io() argument 20 bio_for_each_folio_all(fi, bio) { in __iomap_read_end_io() 24 if (bio_integrity(bio)) in __iomap_read_end_io() 25 fs_bio_integrity_free(bio); in __iomap_read_end_io() 26 bio_put(bio); in __iomap_read_end_io() 34 struct bio *bio; in iomap_fail_reads() local 42 while ((bio = bio_list_pop(&tmp)) != NULL) { in iomap_fail_reads() 43 __iomap_read_end_io(bio, blk_status_to_errno(bio->bi_status)); in iomap_fail_reads() 50 static void iomap_fail_buffered_read(struct bio *bio) in iomap_fail_buffered_read() argument 62 bio_list_add(&failed_read_list, bio); in iomap_fail_buffered_read() [all …]
|
| /linux/fs/ |
| H A D | mpage.c | 45 static void mpage_read_end_io(struct bio *bio) in mpage_read_end_io() argument 48 int err = blk_status_to_errno(bio->bi_status); in mpage_read_end_io() 50 bio_for_each_folio_all(fi, bio) in mpage_read_end_io() 53 bio_put(bio); in mpage_read_end_io() 56 static void mpage_write_end_io(struct bio *bio) in mpage_write_end_io() argument 59 int err = blk_status_to_errno(bio->bi_status); in mpage_write_end_io() 61 bio_for_each_folio_all(fi, bio) { in mpage_write_end_io() 67 bio_put(bio); in mpage_write_end_io() 70 static struct bio *mpage_bio_submit_read(struct bio *bio) in mpage_bio_submit_read() argument 72 bio->bi_end_io = mpage_read_end_io; in mpage_bio_submit_read() [all …]
|
| /linux/fs/squashfs/ |
| H A D | block.c | 33 static int copy_bio_to_actor(struct bio *bio, in copy_bio_to_actor() argument 46 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) in copy_bio_to_actor() 70 if (!bio_next_segment(bio, &iter_all)) in copy_bio_to_actor() 79 static int squashfs_bio_read_cached(struct bio *fullbio, in squashfs_bio_read_cached() 87 struct bio *bio = NULL; in squashfs_bio_read_cached() local 122 if (!bio || idx != end_idx) { in squashfs_bio_read_cached() 123 struct bio *new = bio_alloc_clone(bdev, fullbio, in squashfs_bio_read_cached() 126 if (bio) { in squashfs_bio_read_cached() 127 bio_trim(bio, start_idx * PAGE_SECTORS, in squashfs_bio_read_cached() 129 bio_chain(bio, new); in squashfs_bio_read_cached() [all …]
|
| /linux/drivers/md/ |
| H A D | dm-io-rewind.c | 56 static void dm_bio_integrity_rewind(struct bio *bio, unsigned int bytes_done) in dm_bio_integrity_rewind() argument 58 struct bio_integrity_payload *bip = bio_integrity(bio); in dm_bio_integrity_rewind() 59 struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk); in dm_bio_integrity_rewind() 68 static inline void dm_bio_integrity_rewind(struct bio *bio, in dm_bio_integrity_rewind() argument 94 static void dm_bio_crypt_rewind(struct bio *bio, unsigned int bytes) in dm_bio_crypt_rewind() argument 96 struct bio_crypt_ctx *bc = bio->bi_crypt_context; in dm_bio_crypt_rewind() 104 static inline void dm_bio_crypt_rewind(struct bio *bio, unsigned int bytes) in dm_bio_crypt_rewind() argument 110 static inline void dm_bio_rewind_iter(const struct bio *bio, in dm_bio_rewind_iter() argument 116 if (bio_no_advance_iter(bio)) in dm_bio_rewind_iter() 119 dm_bvec_iter_rewind(bio->bi_io_vec, iter, bytes); in dm_bio_rewind_iter() [all …]
|
| H A D | raid1-10.c | 11 #define IO_BLOCKED ((struct bio *)1) 16 #define IO_MADE_GOOD ((struct bio *)2) 18 #define BIO_SPECIAL(bio) ((unsigned long)bio <= 2) argument 85 static inline struct resync_pages *get_resync_pages(struct bio *bio) in get_resync_pages() argument 87 return bio->bi_private; in get_resync_pages() 91 static void md_bio_reset_resync_pages(struct bio *bio, struct resync_pages *rp, in md_bio_reset_resync_pages() argument 101 if (WARN_ON(!bio_add_page(bio, page, len, 0))) { in md_bio_reset_resync_pages() 102 bio->bi_status = BLK_STS_RESOURCE; in md_bio_reset_resync_pages() 103 bio_endio(bio); in md_bio_reset_resync_pages() 112 static inline void raid1_submit_write(struct bio *bio) in raid1_submit_write() argument [all …]
|
| H A D | dm-zoned-target.c | 22 struct bio *bio; member 75 static inline void dmz_bio_endio(struct bio *bio, blk_status_t status) in dmz_bio_endio() argument 78 dm_per_bio_data(bio, sizeof(struct dmz_bioctx)); in dmz_bio_endio() 80 if (status != BLK_STS_OK && bio->bi_status == BLK_STS_OK) in dmz_bio_endio() 81 bio->bi_status = status; in dmz_bio_endio() 82 if (bioctx->dev && bio->bi_status != BLK_STS_OK) in dmz_bio_endio() 89 if (bio->bi_status != BLK_STS_OK && in dmz_bio_endio() 90 bio_op(bio) == REQ_OP_WRITE && in dmz_bio_endio() 95 bio_endio(bio); in dmz_bio_endio() 103 static void dmz_clone_endio(struct bio *clone) in dmz_clone_endio() [all …]
|
| H A D | dm-ebs-target.c | 48 static inline unsigned int __nr_blocks(struct ebs_c *ec, struct bio *bio) in __nr_blocks() argument 50 sector_t end_sector = __block_mod(bio->bi_iter.bi_sector, ec->u_bs) + bio_sectors(bio); in __nr_blocks() 122 static int __ebs_rw_bio(struct ebs_c *ec, enum req_op op, struct bio *bio) in __ebs_rw_bio() argument 128 bio_for_each_bvec(bv, bio, iter) { in __ebs_rw_bio() 143 static int __ebs_discard_bio(struct ebs_c *ec, struct bio *bio) in __ebs_discard_bio() argument 145 sector_t block, blocks, sector = bio->bi_iter.bi_sector; in __ebs_discard_bio() 148 blocks = __nr_blocks(ec, bio); in __ebs_discard_bio() 160 if (blocks && __block_mod(bio_end_sector(bio), ec->u_bs)) in __ebs_discard_bio() 167 static void __ebs_forget_bio(struct ebs_c *ec, struct bio *bio) in __ebs_forget_bio() argument 169 sector_t blocks, sector = bio->bi_iter.bi_sector; in __ebs_forget_bio() [all …]
|
| H A D | dm-bio-record.h | 33 static inline void dm_bio_record(struct dm_bio_details *bd, struct bio *bio) in dm_bio_record() argument 35 bd->bi_bdev = bio->bi_bdev; in dm_bio_record() 36 bd->bi_flags = bio->bi_flags; in dm_bio_record() 37 bd->bi_iter = bio->bi_iter; in dm_bio_record() 38 bd->__bi_remaining = atomic_read(&bio->__bi_remaining); in dm_bio_record() 39 bd->bi_end_io = bio->bi_end_io; in dm_bio_record() 41 bd->bi_integrity = bio_integrity(bio); in dm_bio_record() 45 static inline void dm_bio_restore(struct dm_bio_details *bd, struct bio *bio) in dm_bio_restore() argument 47 bio->bi_bdev = bd->bi_bdev; in dm_bio_restore() 48 bio->bi_flags = bd->bi_flags; in dm_bio_restore() [all …]
|
| H A D | dm-flakey.c | 21 #define all_corrupt_bio_flags_match(bio, fc) \ argument 22 (((bio)->bi_opf & (fc)->corrupt_bio_flags) == (fc)->corrupt_bio_flags) 352 static void flakey_map_bio(struct dm_target *ti, struct bio *bio) in flakey_map_bio() argument 356 bio_set_dev(bio, fc->dev->bdev); in flakey_map_bio() 357 bio->bi_iter.bi_sector = flakey_map_sector(ti, bio->bi_iter.bi_sector); in flakey_map_bio() 360 static void corrupt_bio_common(struct bio *bio, unsigned int corrupt_bio_byte, in corrupt_bio_common() argument 371 __bio_for_each_segment(bvec, bio, iter, start) { in corrupt_bio_common() 372 if (bio_iter_len(bio, iter) > corrupt_bio_byte) { in corrupt_bio_common() 378 bio, corrupt_bio_value, corrupt_bio_byte, in corrupt_bio_common() 379 (bio_data_dir(bio) == WRITE) ? 'w' : 'r', bio->bi_opf, in corrupt_bio_common() [all …]
|
| H A D | dm-thin.c | 226 typedef void (*process_bio_fn)(struct thin_c *tc, struct bio *bio); 384 struct bio *parent_bio; 385 struct bio *bio; member 388 static void begin_discard(struct discard_op *op, struct thin_c *tc, struct bio *parent) in begin_discard() 395 op->bio = NULL; in begin_discard() 404 __blkdev_issue_discard(tc->pool_dev->bdev, s, len, GFP_NOIO, &op->bio); in issue_discard() 409 if (op->bio) { in end_discard() 414 bio_chain(op->bio, op->parent_bio); in end_discard() 415 op->bio->bi_opf = REQ_OP_DISCARD; in end_discard() 416 submit_bio(op->bio); in end_discard() [all …]
|
| H A D | dm-clone-target.c | 259 static inline void remap_to_source(struct clone *clone, struct bio *bio) in remap_to_source() argument 261 bio_set_dev(bio, clone->source_dev->bdev); in remap_to_source() 264 static inline void remap_to_dest(struct clone *clone, struct bio *bio) in remap_to_dest() argument 266 bio_set_dev(bio, clone->dest_dev->bdev); in remap_to_dest() 269 static bool bio_triggers_commit(struct clone *clone, struct bio *bio) in bio_triggers_commit() argument 271 return op_is_flush(bio->bi_opf) && in bio_triggers_commit() 282 static inline unsigned long bio_to_region(struct clone *clone, struct bio *bio) in bio_to_region() argument 284 return (bio->bi_iter.bi_sector >> clone->region_shift); in bio_to_region() 288 static void bio_region_range(struct clone *clone, struct bio *bio, in bio_region_range() argument 293 *rs = dm_sector_div_up(bio->bi_iter.bi_sector, clone->region_size); in bio_region_range() [all …]
|
| H A D | raid10.c | 77 static void end_reshape_write(struct bio *bio); 98 * for resync bio, r10bio pointer can be retrieved from the per-bio 101 static inline struct r10bio *get_resync_r10bio(struct bio *bio) in get_resync_r10bio() argument 103 return get_resync_pages(bio)->raid_bio; in get_resync_r10bio() 135 struct bio *bio; in r10buf_pool_alloc() local 163 bio in r10buf_pool_alloc() 237 struct bio *bio = r10bio->devs[j].bio; r10buf_pool_free() local 264 struct bio **bio = & r10_bio->devs[i].bio; put_all_bios() local 322 struct bio *bio = r10_bio->master_bio; raid_end_bio_io() local 355 find_bio_disk(struct r10conf * conf,struct r10bio * r10_bio,struct bio * bio,int * slotp,int * replp) find_bio_disk() argument 378 raid10_end_read_request(struct bio * bio) raid10_end_read_request() argument 454 raid10_end_write_request(struct bio * bio) raid10_end_write_request() argument 870 struct bio *bio; flush_pending_writes() local 1089 struct bio *bio; raid10_unplug() local 1123 regular_request_wait(struct mddev * mddev,struct r10conf * conf,struct bio * bio,sector_t sectors) regular_request_wait() argument 1148 raid10_read_request(struct mddev * mddev,struct bio * bio,struct r10bio * r10_bio,bool io_accounting) raid10_read_request() argument 1247 raid10_write_one_disk(struct mddev * mddev,struct r10bio * r10_bio,struct bio * bio,bool replacement,int n_copy) raid10_write_one_disk() argument 1344 raid10_write_request(struct mddev * mddev,struct bio * bio,struct r10bio * r10_bio) raid10_write_request() argument 1529 __make_request(struct mddev * mddev,struct bio * bio,int sectors) __make_request() argument 1574 raid10_end_discard_request(struct bio * bio) raid10_end_discard_request() argument 1602 raid10_handle_discard(struct mddev * mddev,struct bio * bio) raid10_handle_discard() argument 1865 raid10_make_request(struct mddev * mddev,struct bio * bio) raid10_make_request() argument 2219 __end_sync_read(struct r10bio * r10_bio,struct bio * bio,int d) __end_sync_read() argument 2245 end_sync_read(struct bio * bio) end_sync_read() argument 2254 end_reshape_read(struct bio * bio) end_reshape_read() argument 2289 end_sync_write(struct bio * bio) end_sync_write() argument 2477 struct bio *bio = r10_bio->devs[0].bio; fix_recovery_read_error() local 2770 struct bio *bio = r10_bio->master_bio; narrow_write_error() local 2834 struct bio *bio; handle_read_error() local 2917 struct bio *bio = r10_bio->devs[m].bio; handle_write_completed() local 3054 struct bio *bio; raid10_alloc_init_r10buf() local 3153 struct bio *biolist = NULL, *bio; raid10_sync_request() local 4609 struct bio *bio, *read_bio; reshape_request() local 4981 end_reshape_write(struct bio * bio) end_reshape_write() argument [all...] |
| /linux/Documentation/translations/zh_CN/block/ |
| H A D | data-integrity.rst | 101 当启用 CONFIG_BLK_DEV_INTEGRITY 时,数据完整性补丁会在 struct bio 中添加 102 一个新字段。调用 bio_integrity(bio) 会返回一个指向 struct bip 的指针,该 103 结构体包含了该 bio 的完整性负载。本质上,bip 是一个精简版的 struct bio,其 107 内核子系统可以通过调用 bio_integrity_alloc(bio) 来为某个 bio 启用数据完整 108 性保护。该函数会分配并附加一个 bip 到该 bio 上。 110 随后使用 bio_integrity_add_page() 将包含完整性元数据的单独页面附加到该 bio。 150 `bool bio_integrity_prep(bio);` 153 bio_integrity_prep(bio)。 155 在调用此函数之前,必须先设置好 bio 的数据方向和起始扇区,并确 156 保该 bio 已经添加完所有的数据页。调用者需要自行保证,在 I/O 进行 [all …]
|