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, &sector, &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 ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, &bio); in blkdev_issue_discard()
94 if (!ret && 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()
201 struct bio *bio; in __blkdev_issue_zero_pages() local
203 bio = bio_alloc(bdev, nr_vecs, REQ_OP_WRITE, gfp_mask); in __blkdev_issue_zero_pages()
204 bio->bi_iter.bi_sector = sector; in __blkdev_issue_zero_pages()
215 added = bio_add_page(bio, ZERO_PAGE(0), len, 0); in __blkdev_issue_zero_pages()
222 *biop = bio_chain_and_submit(*biop, bio); in __blkdev_issue_zero_pages()
230 struct bio *bio = NULL; in blkdev_issue_zero_pages() local
238 __blkdev_issue_zero_pages(bdev, sector, nr_sects, gfp, &bio, flags); in blkdev_issue_zero_pages()
239 if (bio) { in blkdev_issue_zero_pages()
242 bio_await_chain(bio); in blkdev_issue_zero_pages()
246 ret = submit_bio_wait(bio); in blkdev_issue_zero_pages()
247 bio_put(bio); in blkdev_issue_zero_pages()
274 sector_t nr_sects, gfp_t gfp_mask, struct bio **biop, in __blkdev_issue_zeroout()
334 struct bio *bio = NULL; in blkdev_issue_secure_erase() local
354 bio = blk_next_bio(bio, bdev, 0, REQ_OP_SECURE_ERASE, gfp); in blkdev_issue_secure_erase()
355 bio->bi_iter.bi_sector = sector; in blkdev_issue_secure_erase()
356 bio->bi_iter.bi_size = len << SECTOR_SHIFT; in blkdev_issue_secure_erase()
362 if (bio) { in blkdev_issue_secure_erase()
363 ret = submit_bio_wait(bio); in blkdev_issue_secure_erase()
364 bio_put(bio); in blkdev_issue_secure_erase()