Lines Matching defs:disk

1115 	struct gendisk *disk = get_gendisk(bdev->bd_dev, partno);
1117 if (!disk)
1128 put_disk_and_module(disk);
1131 return disk;
1191 struct gendisk *disk;
1196 struct gendisk *disk)
1201 if (holder->disk == disk)
1217 * bd_link_disk_holder - create symlinks between holding disk and slave bdev
1219 * @disk: the holding disk
1225 * - from "slaves" directory of the holder @disk to the claimed @bdev
1226 * - from "holders" directory of the @bdev to the holder @disk
1228 * For example, if /dev/dm-0 maps to /dev/sda and disk for dm-0 is
1235 * ensure that both @bdev and @disk are valid during the creation and
1244 int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk)
1254 if (WARN_ON(!disk->slave_dir || !bdev->bd_part->holder_dir))
1257 holder = bd_find_holder_disk(bdev, disk);
1270 holder->disk = disk;
1273 ret = add_symlink(disk->slave_dir, &part_to_dev(bdev->bd_part)->kobj);
1277 ret = add_symlink(bdev->bd_part->holder_dir, &disk_to_dev(disk)->kobj);
1290 del_symlink(disk->slave_dir, &part_to_dev(bdev->bd_part)->kobj);
1302 * @disk: the holding disk
1309 void bd_unlink_disk_holder(struct block_device *bdev, struct gendisk *disk)
1315 holder = bd_find_holder_disk(bdev, disk);
1318 del_symlink(disk->slave_dir, &part_to_dev(bdev->bd_part)->kobj);
1320 &disk_to_dev(disk)->kobj);
1332 * check_disk_size_change - checks for disk size change and adjusts bdev size.
1333 * @disk: struct gendisk to check
1337 * This routine checks to see if the bdev size does not match the disk size
1341 static void check_disk_size_change(struct gendisk *disk,
1347 disk_size = (loff_t)get_capacity(disk) << 9;
1353 disk->disk_name, bdev_size, disk_size);
1361 pr_warn("VFS: busy inodes on resized disk %s\n",
1362 disk->disk_name);
1367 * revalidate_disk_size - checks for disk size change and adjusts bdev size.
1368 * @disk: struct gendisk to check
1371 * This routine checks to see if the bdev size does not match the disk size
1375 void revalidate_disk_size(struct gendisk *disk, bool verbose)
1383 if (disk->flags & GENHD_FL_HIDDEN)
1386 bdev = bdget_disk(disk, 0);
1388 check_disk_size_change(disk, bdev, verbose);
1406 struct gendisk *disk = bdev->bd_disk;
1411 if (!(disk->flags & GENHD_FL_UP))
1419 clear_bit(GD_NEED_PART_SCAN, &disk->state);
1430 if (disk_part_scan_enabled(disk) ||
1431 !(disk->flags & GENHD_FL_REMOVABLE))
1432 set_capacity(disk, 0);
1434 if (disk->fops->revalidate_disk)
1435 disk->fops->revalidate_disk(disk);
1438 check_disk_size_change(disk, bdev, !invalidate);
1440 if (get_capacity(disk)) {
1441 ret = blk_add_partitions(disk, bdev);
1449 kobject_uevent(&disk_to_dev(disk)->kobj, KOBJ_CHANGE);
1471 struct gendisk *disk;
1479 disk = bdev_get_gendisk(bdev, &partno);
1480 if (!disk)
1484 whole = bdget_disk(disk, 0);
1502 disk_block_events(disk);
1506 bdev->bd_disk = disk;
1512 bdev->bd_part = disk_get_part(disk, partno);
1517 if (disk->fops->open) {
1518 ret = disk->fops->open(bdev, mode);
1520 * If we lost a race with 'disk' being deleted,
1528 bd_set_nr_sectors(bdev, get_capacity(disk));
1538 if (test_bit(GD_NEED_PART_SCAN, &disk->state) &&
1550 bdev->bd_part = disk_get_part(disk, partno);
1551 if (!(disk->flags & GENHD_FL_UP) ||
1561 bdev->bd_bdi = bdi_get(disk->queue->backing_dev_info);
1568 if (test_bit(GD_NEED_PART_SCAN, &disk->state) &&
1588 (disk->flags & GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE)) {
1595 disk_unblock_events(disk);
1597 /* only one opener holds refs to the module and disk */
1599 put_disk_and_module(disk);
1615 disk_unblock_events(disk);
1620 put_disk_and_module(disk);
1780 struct gendisk *disk = bdev->bd_disk;
1805 if (disk->fops->release)
1806 disk->fops->release(disk, mode);
1816 put_disk_and_module(disk);