Lines Matching refs:disk
12 struct gendisk *disk)
16 list_for_each_entry(holder, &disk->slave_bdevs, list)
33 * bd_link_disk_holder - create symlinks between holding disk and slave bdev
35 * @disk: the holding disk
41 * - from "slaves" directory of the holder @disk to the claimed @bdev
42 * - from "holders" directory of the @bdev to the holder @disk
44 * For example, if /dev/dm-0 maps to /dev/sda and disk for dm-0 is
51 * ensure that both @bdev and @disk are valid during the creation and
60 int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk)
65 if (WARN_ON_ONCE(!disk->slave_dir))
68 if (bdev->bd_disk == disk)
83 mutex_lock(&disk->open_mutex);
86 holder = bd_find_holder_disk(bdev, disk);
103 ret = add_symlink(disk->slave_dir, bdev_kobj(bdev));
106 ret = add_symlink(bdev->bd_holder_dir, &disk_to_dev(disk)->kobj);
109 list_add(&holder->list, &disk->slave_bdevs);
111 mutex_unlock(&disk->open_mutex);
115 del_symlink(disk->slave_dir, bdev_kobj(bdev));
119 mutex_unlock(&disk->open_mutex);
129 * @disk: the holding disk
136 void bd_unlink_disk_holder(struct block_device *bdev, struct gendisk *disk)
140 if (WARN_ON_ONCE(!disk->slave_dir))
143 mutex_lock(&disk->open_mutex);
144 holder = bd_find_holder_disk(bdev, disk);
146 del_symlink(disk->slave_dir, bdev_kobj(bdev));
147 del_symlink(holder->holder_dir, &disk_to_dev(disk)->kobj);
152 mutex_unlock(&disk->open_mutex);