Lines Matching refs:bdev
207 struct block_device *bdev; member
445 static int dm_blk_open(struct block_device *bdev, fmode_t mode) in dm_blk_open() argument
451 md = bdev->bd_disk->private_data; in dm_blk_open()
552 static int dm_blk_getgeo(struct block_device *bdev, struct hd_geometry *geo) in dm_blk_getgeo() argument
554 struct mapped_device *md = bdev->bd_disk->private_data; in dm_blk_getgeo()
560 struct dm_target **tgt, struct block_device **bdev, in dm_get_live_table_for_ioctl() argument
586 r = (*tgt)->type->prepare_ioctl(*tgt, bdev, mode); in dm_get_live_table_for_ioctl()
601 static int dm_blk_ioctl(struct block_device *bdev, fmode_t mode, in dm_blk_ioctl() argument
604 struct mapped_device *md = bdev->bd_disk->private_data; in dm_blk_ioctl()
778 struct block_device *bdev; in open_table_device() local
782 BUG_ON(td->dm_dev.bdev); in open_table_device()
784 bdev = blkdev_get_by_dev(dev, td->dm_dev.mode | FMODE_EXCL, _claim_ptr); in open_table_device()
785 if (IS_ERR(bdev)) in open_table_device()
786 return PTR_ERR(bdev); in open_table_device()
788 r = bd_link_disk_holder(bdev, dm_disk(md)); in open_table_device()
790 blkdev_put(bdev, td->dm_dev.mode | FMODE_EXCL); in open_table_device()
794 td->dm_dev.bdev = bdev; in open_table_device()
803 if (!td->dm_dev.bdev) in close_table_device()
806 bd_unlink_disk_holder(td->dm_dev.bdev, dm_disk(md)); in close_table_device()
807 blkdev_put(td->dm_dev.bdev, td->dm_dev.mode | FMODE_EXCL); in close_table_device()
808 td->dm_dev.bdev = NULL; in close_table_device()
816 if (td->dm_dev.bdev->bd_dev == dev && td->dm_dev.mode == mode) in find_table_device()
837 td->dm_dev.bdev = NULL; in dm_get_table_device()
2276 if (md->bdev) { in cleanup_mapped_device()
2277 bdput(md->bdev); in cleanup_mapped_device()
2278 md->bdev = NULL; in cleanup_mapped_device()
2356 md->bdev = bdget_disk(md->disk, 0); in alloc_dev()
2357 if (!md->bdev) in alloc_dev()
2361 md->flush_bio.bi_bdev = md->bdev; in alloc_dev()
2472 i_size_write(md->bdev->bd_inode, (loff_t)size << SECTOR_SHIFT); in __set_size()
3051 md->frozen_sb = freeze_bdev(md->bdev); in lock_fs()
3068 thaw_bdev(md->bdev, md->frozen_sb); in unlock_fs()
3555 static int dm_pr_register(struct block_device *bdev, u64 old_key, u64 new_key, in dm_pr_register() argument
3558 struct mapped_device *md = bdev->bd_disk->private_data; in dm_pr_register()
3564 r = dm_get_live_table_for_ioctl(md, &tgt, &bdev, &mode, &srcu_idx); in dm_pr_register()
3568 ops = bdev->bd_disk->fops->pr_ops; in dm_pr_register()
3570 r = ops->pr_register(bdev, old_key, new_key, flags); in dm_pr_register()
3578 static int dm_pr_reserve(struct block_device *bdev, u64 key, enum pr_type type, in dm_pr_reserve() argument
3581 struct mapped_device *md = bdev->bd_disk->private_data; in dm_pr_reserve()
3587 r = dm_get_live_table_for_ioctl(md, &tgt, &bdev, &mode, &srcu_idx); in dm_pr_reserve()
3591 ops = bdev->bd_disk->fops->pr_ops; in dm_pr_reserve()
3593 r = ops->pr_reserve(bdev, key, type, flags); in dm_pr_reserve()
3601 static int dm_pr_release(struct block_device *bdev, u64 key, enum pr_type type) in dm_pr_release() argument
3603 struct mapped_device *md = bdev->bd_disk->private_data; in dm_pr_release()
3609 r = dm_get_live_table_for_ioctl(md, &tgt, &bdev, &mode, &srcu_idx); in dm_pr_release()
3613 ops = bdev->bd_disk->fops->pr_ops; in dm_pr_release()
3615 r = ops->pr_release(bdev, key, type); in dm_pr_release()
3623 static int dm_pr_preempt(struct block_device *bdev, u64 old_key, u64 new_key, in dm_pr_preempt() argument
3626 struct mapped_device *md = bdev->bd_disk->private_data; in dm_pr_preempt()
3632 r = dm_get_live_table_for_ioctl(md, &tgt, &bdev, &mode, &srcu_idx); in dm_pr_preempt()
3636 ops = bdev->bd_disk->fops->pr_ops; in dm_pr_preempt()
3638 r = ops->pr_preempt(bdev, old_key, new_key, type, abort); in dm_pr_preempt()
3646 static int dm_pr_clear(struct block_device *bdev, u64 key) in dm_pr_clear() argument
3648 struct mapped_device *md = bdev->bd_disk->private_data; in dm_pr_clear()
3654 r = dm_get_live_table_for_ioctl(md, &tgt, &bdev, &mode, &srcu_idx); in dm_pr_clear()
3658 ops = bdev->bd_disk->fops->pr_ops; in dm_pr_clear()
3660 r = ops->pr_clear(bdev, key); in dm_pr_clear()