Home
last modified time | relevance | path

Searched refs:bio (Results 1 – 25 of 295) sorted by relevance

12345678910>>...12

/Linux-v4.19/include/linux/
Dbio.h51 #define bio_prio(bio) (bio)->bi_ioprio argument
52 #define bio_set_prio(bio, prio) ((bio)->bi_ioprio = prio) argument
54 #define bio_iter_iovec(bio, iter) \ argument
55 bvec_iter_bvec((bio)->bi_io_vec, (iter))
57 #define bio_iter_page(bio, iter) \ argument
58 bvec_iter_page((bio)->bi_io_vec, (iter))
59 #define bio_iter_len(bio, iter) \ argument
60 bvec_iter_len((bio)->bi_io_vec, (iter))
61 #define bio_iter_offset(bio, iter) \ argument
62 bvec_iter_offset((bio)->bi_io_vec, (iter))
[all …]
/Linux-v4.19/block/
Dbio.c76 unsigned int sz = sizeof(struct bio) + extra_size; in bio_find_or_create_slab()
245 void bio_uninit(struct bio *bio) in bio_uninit() argument
247 bio_disassociate_task(bio); in bio_uninit()
251 static void bio_free(struct bio *bio) in bio_free() argument
253 struct bio_set *bs = bio->bi_pool; in bio_free()
256 bio_uninit(bio); in bio_free()
259 bvec_free(&bs->bvec_pool, bio->bi_io_vec, BVEC_POOL_IDX(bio)); in bio_free()
264 p = bio; in bio_free()
270 kfree(bio); in bio_free()
279 void bio_init(struct bio *bio, struct bio_vec *table, in bio_init() argument
[all …]
Dblk-map.c18 int blk_rq_append_bio(struct request *rq, struct bio **bio) in blk_rq_append_bio() argument
20 struct bio *orig_bio = *bio; in blk_rq_append_bio()
22 blk_queue_bounce(rq->q, bio); in blk_rq_append_bio()
24 if (!rq->bio) { in blk_rq_append_bio()
25 blk_rq_bio_prep(rq->q, rq, *bio); in blk_rq_append_bio()
27 if (!ll_back_merge_fn(rq->q, rq, *bio)) { in blk_rq_append_bio()
28 if (orig_bio != *bio) { in blk_rq_append_bio()
29 bio_put(*bio); in blk_rq_append_bio()
30 *bio = orig_bio; in blk_rq_append_bio()
35 rq->biotail->bi_next = *bio; in blk_rq_append_bio()
[all …]
Dblk-lib.c13 static struct bio *next_bio(struct bio *bio, unsigned int nr_pages, in next_bio() argument
16 struct bio *new = bio_alloc(gfp, nr_pages); in next_bio()
18 if (bio) { in next_bio()
19 bio_chain(bio, new); in next_bio()
20 submit_bio(bio); in next_bio()
28 struct bio **biop) in __blkdev_issue_discard()
31 struct bio *bio = *biop; in __blkdev_issue_discard() local
66 bio = next_bio(bio, 0, gfp_mask); in __blkdev_issue_discard()
67 bio->bi_iter.bi_sector = sector; in __blkdev_issue_discard()
68 bio_set_dev(bio, bdev); in __blkdev_issue_discard()
[all …]
Dbounce.c113 static void copy_to_high_bio_irq(struct bio *to, struct bio *from) in copy_to_high_bio_irq()
143 static void bounce_end_io(struct bio *bio, mempool_t *pool) in bounce_end_io() argument
145 struct bio *bio_orig = bio->bi_private; in bounce_end_io()
153 bio_for_each_segment_all(bvec, bio, i) { in bounce_end_io()
162 bio_orig->bi_status = bio->bi_status; in bounce_end_io()
164 bio_put(bio); in bounce_end_io()
167 static void bounce_end_io_write(struct bio *bio) in bounce_end_io_write() argument
169 bounce_end_io(bio, &page_pool); in bounce_end_io_write()
172 static void bounce_end_io_write_isa(struct bio *bio) in bounce_end_io_write_isa() argument
175 bounce_end_io(bio, &isa_page_pool); in bounce_end_io_write_isa()
[all …]
Dblk-merge.c15 static struct bio *blk_bio_discard_split(struct request_queue *q, in blk_bio_discard_split()
16 struct bio *bio, in blk_bio_discard_split() argument
38 if (bio_sectors(bio) <= max_discard_sectors) in blk_bio_discard_split()
49 tmp = bio->bi_iter.bi_sector + split_sectors - alignment; in blk_bio_discard_split()
55 return bio_split(bio, split_sectors, GFP_NOIO, bs); in blk_bio_discard_split()
58 static struct bio *blk_bio_write_zeroes_split(struct request_queue *q, in blk_bio_write_zeroes_split()
59 struct bio *bio, struct bio_set *bs, unsigned *nsegs) in blk_bio_write_zeroes_split() argument
66 if (bio_sectors(bio) <= q->limits.max_write_zeroes_sectors) in blk_bio_write_zeroes_split()
69 return bio_split(bio, q->limits.max_write_zeroes_sectors, GFP_NOIO, bs); in blk_bio_write_zeroes_split()
72 static struct bio *blk_bio_write_same_split(struct request_queue *q, in blk_bio_write_same_split()
[all …]
Dbio-integrity.c51 struct bio_integrity_payload *bio_integrity_alloc(struct bio *bio, in bio_integrity_alloc() argument
56 struct bio_set *bs = bio->bi_pool; in bio_integrity_alloc()
87 bip->bip_bio = bio; in bio_integrity_alloc()
88 bio->bi_integrity = bip; in bio_integrity_alloc()
89 bio->bi_opf |= REQ_INTEGRITY; in bio_integrity_alloc()
105 static void bio_integrity_free(struct bio *bio) in bio_integrity_free() argument
107 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_free()
108 struct bio_set *bs = bio->bi_pool; in bio_integrity_free()
122 bio->bi_integrity = NULL; in bio_integrity_free()
123 bio->bi_opf &= ~REQ_INTEGRITY; in bio_integrity_free()
[all …]
Dblk-core.c264 static void req_bio_endio(struct request *rq, struct bio *bio, in req_bio_endio() argument
268 bio->bi_status = error; in req_bio_endio()
271 bio_set_flag(bio, BIO_QUIET); in req_bio_endio()
273 bio_advance(bio, nbytes); in req_bio_endio()
276 if (bio->bi_iter.bi_size == 0 && !(rq->rq_flags & RQF_FLUSH_SEQ)) in req_bio_endio()
277 bio_endio(bio); in req_bio_endio()
290 rq->bio, rq->biotail, blk_rq_bytes(rq)); in blk_dump_rq_flags()
1156 static blk_qc_t blk_queue_bio(struct request_queue *q, struct bio *bio);
1347 struct bio *bio, blk_mq_req_flags_t flags, gfp_t gfp_mask) in __get_request() argument
1352 struct io_context *ioc = rq_ioc(bio); in __get_request()
[all …]
Dblk.h135 struct bio *bio);
154 bool __bio_integrity_endio(struct bio *);
155 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
157 if (bio_integrity(bio)) in bio_integrity_endio()
158 return __bio_integrity_endio(bio); in bio_integrity_endio()
165 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
178 struct bio *bio);
180 struct bio *bio);
182 struct bio *bio);
183 bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
[all …]
/Linux-v4.19/drivers/md/bcache/
Drequest.c40 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()
123 struct bio *bio = op->bio; in bch_data_invalidate() local
126 bio_sectors(bio), (uint64_t) bio->bi_iter.bi_sector); in bch_data_invalidate()
128 while (bio_sectors(bio)) { in bch_data_invalidate()
129 unsigned int sectors = min(bio_sectors(bio), in bch_data_invalidate()
135 bio->bi_iter.bi_sector += sectors; in bch_data_invalidate()
136 bio->bi_iter.bi_size -= sectors << 9; in bch_data_invalidate()
140 bio->bi_iter.bi_sector, in bch_data_invalidate()
146 bio_put(bio); in bch_data_invalidate()
[all …]
Dio.c17 void bch_bbio_free(struct bio *bio, struct cache_set *c) in bch_bbio_free() argument
19 struct bbio *b = container_of(bio, struct bbio, bio); in bch_bbio_free()
24 struct bio *bch_bbio_alloc(struct cache_set *c) in bch_bbio_alloc()
27 struct bio *bio = &b->bio; in bch_bbio_alloc() local
29 bio_init(bio, bio->bi_inline_vecs, bucket_pages(c)); in bch_bbio_alloc()
31 return bio; in bch_bbio_alloc()
34 void __bch_submit_bbio(struct bio *bio, struct cache_set *c) in __bch_submit_bbio() argument
36 struct bbio *b = container_of(bio, struct bbio, bio); in __bch_submit_bbio()
38 bio->bi_iter.bi_sector = PTR_OFFSET(&b->key, 0); in __bch_submit_bbio()
39 bio_set_dev(bio, PTR_CACHE(c, &b->key, 0)->bdev); in __bch_submit_bbio()
[all …]
Dmovinggc.c19 struct bbio bio; member
48 struct bio *bio = &io->bio.bio; in write_moving_finish() local
50 bio_free_pages(bio); in write_moving_finish()
62 static void read_moving_endio(struct bio *bio) in read_moving_endio() argument
64 struct bbio *b = container_of(bio, struct bbio, bio); in read_moving_endio()
65 struct moving_io *io = container_of(bio->bi_private, in read_moving_endio()
68 if (bio->bi_status) in read_moving_endio()
69 io->op.status = bio->bi_status; in read_moving_endio()
75 bch_bbio_endio(io->op.c, bio, bio->bi_status, "reading data to move"); in read_moving_endio()
80 struct bio *bio = &io->bio.bio; in moving_init() local
[all …]
/Linux-v4.19/drivers/nvme/target/
Dio-cmd-bdev.c47 static void nvmet_bio_done(struct bio *bio) in nvmet_bio_done() argument
49 struct nvmet_req *req = bio->bi_private; in nvmet_bio_done()
52 bio->bi_status ? NVME_SC_INTERNAL | NVME_SC_DNR : 0); in nvmet_bio_done()
54 if (bio != &req->b.inline_bio) in nvmet_bio_done()
55 bio_put(bio); in nvmet_bio_done()
61 struct bio *bio = &req->b.inline_bio; in nvmet_bdev_execute_rw() local
84 bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec)); in nvmet_bdev_execute_rw()
85 bio_set_dev(bio, req->ns->bdev); in nvmet_bdev_execute_rw()
86 bio->bi_iter.bi_sector = sector; in nvmet_bdev_execute_rw()
87 bio->bi_private = req; in nvmet_bdev_execute_rw()
[all …]
/Linux-v4.19/drivers/md/
Ddm-zoned-target.c21 struct bio *bio; member
77 static inline void dmz_bio_endio(struct bio *bio, blk_status_t status) in dmz_bio_endio() argument
79 struct dmz_bioctx *bioctx = dm_per_bio_data(bio, sizeof(struct dmz_bioctx)); in dmz_bio_endio()
83 bio_endio(bio); in dmz_bio_endio()
90 static void dmz_read_bio_end_io(struct bio *bio) in dmz_read_bio_end_io() argument
92 struct dmz_bioctx *bioctx = bio->bi_private; in dmz_read_bio_end_io()
93 blk_status_t status = bio->bi_status; in dmz_read_bio_end_io()
95 bio_put(bio); in dmz_read_bio_end_io()
96 dmz_bio_endio(bioctx->bio, status); in dmz_read_bio_end_io()
104 struct bio *bio, sector_t chunk_block, in dmz_submit_read_bio() argument
[all …]
Ddm-raid1.c121 static void queue_bio(struct mirror_set *ms, struct bio *bio, int rw) in queue_bio() argument
130 bio_list_add(bl, bio); in queue_bio()
140 struct bio *bio; in dispatch_bios() local
142 while ((bio = bio_list_pop(bio_list))) in dispatch_bios()
143 queue_bio(ms, bio, WRITE); in dispatch_bios()
163 static struct mirror *bio_get_m(struct bio *bio) in bio_get_m() argument
165 return (struct mirror *) bio->bi_next; in bio_get_m()
168 static void bio_set_m(struct bio *bio, struct mirror *m) in bio_set_m() argument
170 bio->bi_next = (struct bio *) m; in bio_set_m()
437 static int mirror_available(struct mirror_set *ms, struct bio *bio) in mirror_available() argument
[all …]
Ddm-bio-record.h27 static inline void dm_bio_record(struct dm_bio_details *bd, struct bio *bio) in dm_bio_record() argument
29 bd->bi_disk = bio->bi_disk; in dm_bio_record()
30 bd->bi_partno = bio->bi_partno; in dm_bio_record()
31 bd->bi_flags = bio->bi_flags; in dm_bio_record()
32 bd->bi_iter = bio->bi_iter; in dm_bio_record()
35 static inline void dm_bio_restore(struct dm_bio_details *bd, struct bio *bio) in dm_bio_restore() argument
37 bio->bi_disk = bd->bi_disk; in dm_bio_restore()
38 bio->bi_partno = bd->bi_partno; in dm_bio_restore()
39 bio->bi_flags = bd->bi_flags; in dm_bio_restore()
40 bio->bi_iter = bd->bi_iter; in dm_bio_restore()
Ddm-thin.c223 typedef void (*process_bio_fn)(struct thin_c *tc, struct bio *bio);
351 struct bio *parent_bio;
352 struct bio *bio; member
355 static void begin_discard(struct discard_op *op, struct thin_c *tc, struct bio *parent) in begin_discard()
362 op->bio = NULL; in begin_discard()
372 GFP_NOWAIT, 0, &op->bio); in issue_discard()
377 if (op->bio) { in end_discard()
382 bio_chain(op->bio, op->parent_bio); in end_discard()
383 bio_set_op_attrs(op->bio, REQ_OP_DISCARD, 0); in end_discard()
384 submit_bio(op->bio); in end_discard()
[all …]
/Linux-v4.19/fs/
Dmpage.c47 static void mpage_end_io(struct bio *bio) in mpage_end_io() argument
52 bio_for_each_segment_all(bv, bio, i) { in mpage_end_io()
54 page_endio(page, bio_op(bio), in mpage_end_io()
55 blk_status_to_errno(bio->bi_status)); in mpage_end_io()
58 bio_put(bio); in mpage_end_io()
61 static struct bio *mpage_bio_submit(int op, int op_flags, struct bio *bio) in mpage_bio_submit() argument
63 bio->bi_end_io = mpage_end_io; in mpage_bio_submit()
64 bio_set_op_attrs(bio, op, op_flags); in mpage_bio_submit()
65 guard_bio_eod(op, bio); in mpage_bio_submit()
66 submit_bio(bio); in mpage_bio_submit()
[all …]
/Linux-v4.19/fs/crypto/
Dbio.c29 static void __fscrypt_decrypt_bio(struct bio *bio, bool done) in __fscrypt_decrypt_bio() argument
34 bio_for_each_segment_all(bv, bio, i) { in __fscrypt_decrypt_bio()
50 void fscrypt_decrypt_bio(struct bio *bio) in fscrypt_decrypt_bio() argument
52 __fscrypt_decrypt_bio(bio, false); in fscrypt_decrypt_bio()
60 struct bio *bio = ctx->r.bio; in completion_pages() local
62 __fscrypt_decrypt_bio(bio, true); in completion_pages()
64 bio_put(bio); in completion_pages()
67 void fscrypt_enqueue_decrypt_bio(struct fscrypt_ctx *ctx, struct bio *bio) in fscrypt_enqueue_decrypt_bio() argument
70 ctx->r.bio = bio; in fscrypt_enqueue_decrypt_bio()
101 struct bio *bio; in fscrypt_zeroout_range() local
[all …]
/Linux-v4.19/fs/ext4/
Dreadpage.c50 static inline bool ext4_bio_encrypted(struct bio *bio) in ext4_bio_encrypted() argument
53 return unlikely(bio->bi_private != NULL); in ext4_bio_encrypted()
71 static void mpage_end_io(struct bio *bio) in mpage_end_io() argument
76 if (ext4_bio_encrypted(bio)) { in mpage_end_io()
77 if (bio->bi_status) { in mpage_end_io()
78 fscrypt_release_ctx(bio->bi_private); in mpage_end_io()
80 fscrypt_enqueue_decrypt_bio(bio->bi_private, bio); in mpage_end_io()
84 bio_for_each_segment_all(bv, bio, i) { in mpage_end_io()
87 if (!bio->bi_status) { in mpage_end_io()
96 bio_put(bio); in mpage_end_io()
[all …]
Dpage-io.c62 static void ext4_finish_bio(struct bio *bio) in ext4_finish_bio() argument
67 bio_for_each_segment_all(bvec, bio, i) { in ext4_finish_bio()
89 if (bio->bi_status) { in ext4_finish_bio()
108 if (bio->bi_status) in ext4_finish_bio()
125 struct bio *bio, *next_bio; in ext4_release_io_end() local
131 for (bio = io_end->bio; bio; bio = next_bio) { in ext4_release_io_end()
132 next_bio = bio->bi_private; in ext4_release_io_end()
133 ext4_finish_bio(bio); in ext4_release_io_end()
134 bio_put(bio); in ext4_release_io_end()
297 static void ext4_end_bio(struct bio *bio) in ext4_end_bio() argument
[all …]
/Linux-v4.19/mm/
Dpage_io.c29 static struct bio *get_swap_bio(gfp_t gfp_flags, in get_swap_bio()
33 struct bio *bio; in get_swap_bio() local
35 bio = bio_alloc(gfp_flags, nr); in get_swap_bio()
36 if (bio) { in get_swap_bio()
39 bio->bi_iter.bi_sector = map_swap_page(page, &bdev); in get_swap_bio()
40 bio_set_dev(bio, bdev); in get_swap_bio()
41 bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9; in get_swap_bio()
42 bio->bi_end_io = end_io; in get_swap_bio()
45 bio_add_page(bio, page + i, PAGE_SIZE, 0); in get_swap_bio()
46 VM_BUG_ON(bio->bi_iter.bi_size != PAGE_SIZE * nr); in get_swap_bio()
[all …]
/Linux-v4.19/include/trace/events/
Dblock.h227 TP_PROTO(struct request_queue *q, struct bio *bio),
229 TP_ARGS(q, bio),
240 __entry->dev = bio_dev(bio);
241 __entry->sector = bio->bi_iter.bi_sector;
242 __entry->nr_sector = bio_sectors(bio);
243 blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);
264 TP_PROTO(struct request_queue *q, struct bio *bio, int error),
266 TP_ARGS(q, bio, error),
277 __entry->dev = bio_dev(bio);
278 __entry->sector = bio->bi_iter.bi_sector;
[all …]
/Linux-v4.19/drivers/staging/erofs/
Ddata.c18 static inline void read_endio(struct bio *bio) in read_endio() argument
22 const blk_status_t err = bio->bi_status; in read_endio()
24 bio_for_each_segment_all(bvec, bio, i) { in read_endio()
38 bio_put(bio); in read_endio()
60 struct bio *bio; in erofs_get_meta_page() local
63 bio = prepare_bio(sb, blkaddr, 1, read_endio); in erofs_get_meta_page()
64 err = bio_add_page(bio, page, PAGE_SIZE, 0); in erofs_get_meta_page()
67 __submit_bio(bio, REQ_OP_READ, in erofs_get_meta_page()
181 static inline struct bio *erofs_read_raw_page( in erofs_read_raw_page()
182 struct bio *bio, in erofs_read_raw_page() argument
[all …]
/Linux-v4.19/drivers/target/
Dtarget_core_iblock.c300 static void iblock_bio_done(struct bio *bio) in iblock_bio_done() argument
302 struct se_cmd *cmd = bio->bi_private; in iblock_bio_done()
305 if (bio->bi_status) { in iblock_bio_done()
306 pr_err("bio error: %p, err: %d\n", bio, bio->bi_status); in iblock_bio_done()
314 bio_put(bio); in iblock_bio_done()
319 static struct bio *
324 struct bio *bio; in iblock_get_bio() local
333 bio = bio_alloc_bioset(GFP_NOIO, sg_num, &ib_dev->ibd_bio_set); in iblock_get_bio()
334 if (!bio) { in iblock_get_bio()
339 bio_set_dev(bio, ib_dev->ibd_bd); in iblock_get_bio()
[all …]

12345678910>>...12