Lines Matching refs:bdev
13 static struct bd_holder_disk *bd_find_holder_disk(struct block_device *bdev, in bd_find_holder_disk() argument
19 if (holder->holder_dir == bdev->bd_holder_dir) in bd_find_holder_disk()
62 int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk) in bd_link_disk_holder() argument
70 if (bdev->bd_disk == disk) in bd_link_disk_holder()
77 mutex_lock(&bdev->bd_disk->open_mutex); in bd_link_disk_holder()
78 if (!disk_live(bdev->bd_disk)) { in bd_link_disk_holder()
79 mutex_unlock(&bdev->bd_disk->open_mutex); in bd_link_disk_holder()
82 kobject_get(bdev->bd_holder_dir); in bd_link_disk_holder()
83 mutex_unlock(&bdev->bd_disk->open_mutex); in bd_link_disk_holder()
86 WARN_ON_ONCE(!bdev->bd_holder); in bd_link_disk_holder()
88 holder = bd_find_holder_disk(bdev, disk); in bd_link_disk_holder()
90 kobject_put(bdev->bd_holder_dir); in bd_link_disk_holder()
103 holder->holder_dir = bdev->bd_holder_dir; in bd_link_disk_holder()
105 ret = add_symlink(disk->slave_dir, bdev_kobj(bdev)); in bd_link_disk_holder()
108 ret = add_symlink(bdev->bd_holder_dir, &disk_to_dev(disk)->kobj); in bd_link_disk_holder()
117 del_symlink(disk->slave_dir, bdev_kobj(bdev)); in bd_link_disk_holder()
123 kobject_put(bdev->bd_holder_dir); in bd_link_disk_holder()
138 void bd_unlink_disk_holder(struct block_device *bdev, struct gendisk *disk) in bd_unlink_disk_holder() argument
146 holder = bd_find_holder_disk(bdev, disk); in bd_unlink_disk_holder()
148 del_symlink(disk->slave_dir, bdev_kobj(bdev)); in bd_unlink_disk_holder()