Lines Matching refs:bio
38 struct bio *blk_alloc_discard_bio(struct block_device *bdev, in blk_alloc_discard_bio()
42 struct bio *bio; in blk_alloc_discard_bio() local
47 bio = bio_alloc(bdev, 0, REQ_OP_DISCARD, gfp_mask); in blk_alloc_discard_bio()
48 if (!bio) in blk_alloc_discard_bio()
50 bio->bi_iter.bi_sector = *sector; in blk_alloc_discard_bio()
51 bio->bi_iter.bi_size = bio_sects << SECTOR_SHIFT; in blk_alloc_discard_bio()
60 return bio; in blk_alloc_discard_bio()
64 sector_t nr_sects, gfp_t gfp_mask, struct bio **biop) in __blkdev_issue_discard()
66 struct bio *bio; in __blkdev_issue_discard() local
68 while ((bio = blk_alloc_discard_bio(bdev, §or, &nr_sects, in __blkdev_issue_discard()
70 *biop = bio_chain_and_submit(*biop, bio); in __blkdev_issue_discard()
88 struct bio *bio = NULL; in blkdev_issue_discard() local
93 __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, &bio); in blkdev_issue_discard()
94 if (bio) { in blkdev_issue_discard()
95 ret = submit_bio_wait(bio); in blkdev_issue_discard()
98 bio_put(bio); in blkdev_issue_discard()
123 struct bio **biop, unsigned flags, sector_t limit) in __blkdev_issue_write_zeroes()
128 struct bio *bio; in __blkdev_issue_write_zeroes() local
134 bio = bio_alloc(bdev, 0, REQ_OP_WRITE_ZEROES, gfp_mask); in __blkdev_issue_write_zeroes()
135 bio->bi_iter.bi_sector = sector; in __blkdev_issue_write_zeroes()
137 bio->bi_opf |= REQ_NOUNMAP; in __blkdev_issue_write_zeroes()
139 bio->bi_iter.bi_size = len << SECTOR_SHIFT; in __blkdev_issue_write_zeroes()
140 *biop = bio_chain_and_submit(*biop, bio); in __blkdev_issue_write_zeroes()
152 struct bio *bio = NULL; in blkdev_issue_write_zeroes() local
157 __blkdev_issue_write_zeroes(bdev, sector, nr_sects, gfp, &bio, in blkdev_issue_write_zeroes()
159 if (bio) { in blkdev_issue_write_zeroes()
162 bio_await_chain(bio); in blkdev_issue_write_zeroes()
166 ret = submit_bio_wait(bio); in blkdev_issue_write_zeroes()
167 bio_put(bio); in blkdev_issue_write_zeroes()
197 struct bio **biop, unsigned int flags) in __blkdev_issue_zero_pages()
203 struct bio *bio; in __blkdev_issue_zero_pages() local
209 bio = bio_alloc(bdev, nr_vecs, REQ_OP_WRITE, gfp_mask); in __blkdev_issue_zero_pages()
210 bio->bi_iter.bi_sector = sector; in __blkdev_issue_zero_pages()
217 if (!bio_add_folio(bio, zero_folio, len, 0)) in __blkdev_issue_zero_pages()
223 *biop = bio_chain_and_submit(*biop, bio); in __blkdev_issue_zero_pages()
231 struct bio *bio = NULL; in blkdev_issue_zero_pages() local
239 __blkdev_issue_zero_pages(bdev, sector, nr_sects, gfp, &bio, flags); in blkdev_issue_zero_pages()
240 if (bio) { in blkdev_issue_zero_pages()
243 bio_await_chain(bio); in blkdev_issue_zero_pages()
247 ret = submit_bio_wait(bio); in blkdev_issue_zero_pages()
248 bio_put(bio); in blkdev_issue_zero_pages()
275 sector_t nr_sects, gfp_t gfp_mask, struct bio **biop, in __blkdev_issue_zeroout()
335 struct bio *bio = NULL; in blkdev_issue_secure_erase() local
355 bio = blk_next_bio(bio, bdev, 0, REQ_OP_SECURE_ERASE, gfp); in blkdev_issue_secure_erase()
356 bio->bi_iter.bi_sector = sector; in blkdev_issue_secure_erase()
357 bio->bi_iter.bi_size = len << SECTOR_SHIFT; in blkdev_issue_secure_erase()
363 if (bio) { in blkdev_issue_secure_erase()
364 ret = submit_bio_wait(bio); in blkdev_issue_secure_erase()
365 bio_put(bio); in blkdev_issue_secure_erase()