Lines Matching refs:disk
559 * For each bucket, we store on disk its
572 * On disk they're stored in a packed array, and in as many buckets are required
580 * disk.
801 bd_unlink_disk_holder(ca->bdev, d->disk);
811 bd_link_disk_holder(ca->bdev, d->disk);
874 struct gendisk *disk = d->disk;
878 if (disk)
879 pr_info("%s stopped\n", disk->disk_name);
886 if (disk) {
887 bool disk_added = (disk->flags & GENHD_FL_UP) != 0;
890 del_gendisk(disk);
892 if (disk->queue)
893 blk_cleanup_queue(disk->queue);
896 first_minor_to_idx(disk->first_minor));
898 put_disk(disk);
925 pr_err("nr_stripes too large or invalid: %llu (start sector beyond end of disk?)\n",
950 d->disk = alloc_disk(BCACHE_MINORS);
951 if (!d->disk)
954 set_capacity(d->disk, sectors);
955 snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx);
957 d->disk->major = bcache_major;
958 d->disk->first_minor = idx_to_first_minor(idx);
959 d->disk->fops = ops;
960 d->disk->private_data = d;
966 d->disk->queue = q;
983 d->disk->disk_name, q->limits.logical_block_size,
990 blk_queue_flag_set(QUEUE_FLAG_NONROT, d->disk->queue);
991 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, d->disk->queue);
992 blk_queue_flag_set(QUEUE_FLAG_DISCARD, d->disk->queue);
1046 dc->disk.name);
1050 bcache_device_stop(&dc->disk);
1063 struct bcache_device *d = &dc->disk;
1101 add_disk(d->disk);
1102 bd_link_disk_holder(dc->bdev, dc->disk.disk);
1107 kobject_uevent_env(&disk_to_dev(d->disk)->kobj, KOBJ_CHANGE, env);
1112 if (sysfs_create_link(&d->kobj, &disk_to_dev(d->disk)->kobj, "dev") ||
1113 sysfs_create_link(&disk_to_dev(d->disk)->kobj,
1115 pr_err("Couldn't create bcache dev <-> disk sysfs symlinks\n");
1141 &dc->disk.flags))
1160 BUG_ON(!test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags));
1164 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags))
1180 calc_cached_dev_sectors(dc->disk.c);
1181 bcache_device_detach(&dc->disk);
1184 clear_bit(BCACHE_DEV_DETACHING, &dc->disk.flags);
1185 clear_bit(BCACHE_DEV_UNLINK_DONE, &dc->disk.flags);
1192 closure_put(&dc->disk.cl);
1199 if (test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags))
1202 if (test_and_set_bit(BCACHE_DEV_DETACHING, &dc->disk.flags))
1209 closure_get(&dc->disk.cl);
1228 if (dc->disk.c) {
1307 bcache_device_attach(&dc->disk, c, u - c->uuids);
1323 dc->disk.disk->disk_name);
1332 bch_sectors_dirty_init(&dc->disk);
1350 bcache_device_link(&dc->disk, c, "bdev");
1356 set_disk_ro(dc->disk.disk, 1);
1364 dc->disk.disk->disk_name,
1365 dc->disk.c->set_uuid);
1369 /* when dc->disk.kobj released */
1373 disk.kobj);
1380 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl);
1382 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags))
1393 bd_unlink_disk_holder(dc->bdev, dc->disk.disk);
1394 bcache_device_free(&dc->disk);
1407 kobject_put(&dc->disk.kobj);
1412 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl);
1413 struct bcache_device *d = &dc->disk;
1433 closure_init(&dc->disk.cl, NULL);
1434 set_closure_fn(&dc->disk.cl, cached_dev_flush, system_wq);
1435 kobject_init(&dc->disk.kobj, &bch_cached_dev_ktype);
1440 bch_cache_accounting_init(&dc->accounting, &dc->disk.cl);
1449 dc->disk.stripe_size = q->limits.io_opt >> 9;
1451 if (dc->disk.stripe_size)
1455 ret = bcache_device_init(&dc->disk, block_size,
1461 blk_queue_io_opt(dc->disk.disk->queue,
1462 max(queue_io_opt(dc->disk.disk->queue), queue_io_opt(q)));
1495 if (kobject_add(&dc->disk.kobj, &part_to_dev(bdev->bd_part)->kobj,
1498 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj))
1519 bcache_device_stop(&dc->disk);
1575 add_disk(d->disk);
1577 if (kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache"))
1585 set_disk_ro(d->disk, 1);
1638 if (!dc || test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags))
1646 dc->disk.disk->disk_name, dc->backing_dev_name);
1648 bcache_device_stop(&dc->disk);
1802 d->disk->disk_name, c->set_uuid);
1810 d->disk->disk_name);
1832 d->disk->disk_name);
1852 dc = container_of(d, struct cached_dev, disk);
2730 bcache_device_stop(&pdev->dc->disk);
2791 bcache_device_stop(&dc->disk);