Lines Matching defs:bdev

55 #define	BDH_BDEV(bdh)		((bdh)->bdev)
109 * Convert SPA mode flags into bdev open mode flags.
149 bdev_capacity(struct block_device *bdev)
152 return (bdev_nr_bytes(bdev));
154 return (i_size_read(bdev->bd_inode));
160 bdev_whole(struct block_device *bdev)
162 return (bdev->bd_contains);
167 #define vdev_bdevname(bdev, name) bdevname(bdev, name)
170 vdev_bdevname(struct block_device *bdev, char *name)
172 snprintf(name, BDEVNAME_SIZE, "%pg", bdev);
195 bdev_max_capacity(struct block_device *bdev, uint64_t wholedisk)
200 if (wholedisk && bdev != bdev_whole(bdev)) {
214 available = bdev_capacity(bdev_whole(bdev)) -
217 psize = MAX(available, bdev_capacity(bdev));
219 psize = bdev_capacity(bdev);
316 struct block_device *bdev = BDH_BDEV(bdh);
317 if (v->vdev_expanding && bdev != bdev_whole(bdev)) {
318 vdev_bdevname(bdev_whole(bdev), disk_name + 5);
334 if (v->vdev_psize == bdev_capacity(bdev))
426 struct block_device *bdev = BDH_BDEV(vd->vd_bdh);
429 int physical_block_size = bdev_physical_block_size(bdev);
432 int logical_block_size = bdev_logical_block_size(bdev);
438 v->vdev_nowritecache = !zfs_bdev_has_write_cache(bdev);
441 v->vdev_has_trim = bdev_discard_supported(bdev);
444 v->vdev_has_securetrim = bdev_secure_discard_supported(bdev);
447 v->vdev_nonrot = blk_queue_nonrot(bdev_get_queue(bdev));
450 *psize = bdev_capacity(bdev);
453 *max_psize = bdev_max_capacity(bdev, v->vdev_wholedisk);
563 vdev_bio_set_dev(struct bio *bio, struct block_device *bdev)
566 struct request_queue *q = bdev->bd_disk->queue;
571 if (bio->bi_bdev != bdev)
573 bio->bi_bdev = bdev;
596 vdev_bio_alloc(struct block_device *bdev, gfp_t gfp_mask,
602 bio = bio_alloc(bdev, nr_vecs, 0, gfp_mask);
606 bio_set_dev(bio, bdev);
613 vdev_bio_max_segs(struct block_device *bdev)
619 const uint_t dev_max_segs = queue_max_segments(bdev_get_queue(bdev));
632 vdev_bio_max_bytes(struct block_device *bdev)
634 return (queue_max_sectors(bdev_get_queue(bdev)) << 9);
672 vbio_alloc(zio_t *zio, struct block_device *bdev, int flags)
677 vbio->vbio_bdev = bdev;
679 vbio->vbio_max_segs = vdev_bio_max_segs(bdev);
680 vbio->vbio_max_bytes = vdev_bio_max_bytes(bdev);
681 vbio->vbio_lbs_mask = ~(bdev_logical_block_size(bdev)-1);
889 vdev_disk_check_alignment(abd_t *abd, uint64_t size, struct block_device *bdev)
892 .blocksize = bdev_logical_block_size(bdev),
907 struct block_device *bdev = BDH_BDEV(vd->vd_bdh);
913 if (zio->io_offset + zio->io_size > bdev_capacity(bdev)) {
918 (u_longlong_t)bdev_capacity(bdev));
924 bio_set_flags_failfast(bdev, &flags, zfs_vdev_failfast_mask & 1,
939 if (!vdev_disk_check_alignment(abd, zio->io_size, bdev)) {
955 VERIFY(vdev_disk_check_alignment(abd, zio->io_size, bdev));
959 vbio_t *vbio = vbio_alloc(zio, bdev, flags);
1082 struct block_device *bdev = BDH_BDEV(vd->vd_bdh);
1100 if (io_offset + io_size > bdev_capacity(bdev)) {
1105 (u_longlong_t)bdev_capacity(bdev));
1114 bio_set_flags_failfast(bdev, &flags, zfs_vdev_failfast_mask & 1,
1151 dr->dr_bio[i] = vdev_bio_alloc(bdev, GFP_NOIO, nr_vecs);
1212 vdev_disk_io_flush(struct block_device *bdev, zio_t *zio)
1217 q = bdev_get_queue(bdev);
1221 bio = vdev_bio_alloc(bdev, GFP_NOIO, 0);
1229 invalidate_bdev(bdev);