Lines Matching refs:disk
557 * For each bucket, we store on disk its
570 * On disk they're stored in a packed array, and in as many buckets are required
578 * disk.
735 static int open_dev(struct gendisk *disk, blk_mode_t mode)
737 struct bcache_device *d = disk->private_data;
798 bd_unlink_disk_holder(ca->bdev, d->disk);
808 bd_link_disk_holder(ca->bdev, d->disk);
871 struct gendisk *disk = d->disk;
875 if (disk)
876 pr_info("%s stopped\n", disk->disk_name);
883 if (disk) {
885 first_minor_to_idx(disk->first_minor));
886 put_disk(disk);
913 pr_err("nr_stripes too large or invalid: %llu (start sector beyond end of disk?)\n",
938 d->disk = blk_alloc_disk(NUMA_NO_NODE);
939 if (!d->disk)
942 set_capacity(d->disk, sectors);
943 snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx);
945 d->disk->major = bcache_major;
946 d->disk->first_minor = idx_to_first_minor(idx);
947 d->disk->minors = BCACHE_MINORS;
948 d->disk->fops = ops;
949 d->disk->private_data = d;
951 q = d->disk->queue;
968 d->disk->disk_name, q->limits.logical_block_size,
975 blk_queue_flag_set(QUEUE_FLAG_NONROT, d->disk->queue);
1029 dc->disk.name);
1033 bcache_device_stop(&dc->disk);
1047 struct bcache_device *d = &dc->disk;
1079 ret = add_disk(d->disk);
1082 bd_link_disk_holder(dc->bdev, dc->disk.disk);
1087 kobject_uevent_env(&disk_to_dev(d->disk)->kobj, KOBJ_CHANGE, env);
1089 if (sysfs_create_link(&d->kobj, &disk_to_dev(d->disk)->kobj, "dev") ||
1090 sysfs_create_link(&disk_to_dev(d->disk)->kobj,
1092 pr_err("Couldn't create bcache dev <-> disk sysfs symlinks\n");
1123 &dc->disk.flags))
1138 struct cache_set *c = dc->disk.c;
1140 BUG_ON(!test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags));
1144 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags))
1154 bcache_device_detach(&dc->disk);
1158 clear_bit(BCACHE_DEV_DETACHING, &dc->disk.flags);
1159 clear_bit(BCACHE_DEV_UNLINK_DONE, &dc->disk.flags);
1166 closure_put(&dc->disk.cl);
1173 if (test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags))
1176 if (test_and_set_bit(BCACHE_DEV_DETACHING, &dc->disk.flags))
1183 closure_get(&dc->disk.cl);
1202 if (dc->disk.c) {
1277 bcache_device_attach(&dc->disk, c, u - c->uuids);
1293 dc->disk.disk->disk_name);
1302 bch_sectors_dirty_init(&dc->disk);
1319 bcache_device_link(&dc->disk, c, "bdev");
1325 set_disk_ro(dc->disk.disk, 1);
1333 dc->disk.disk->disk_name,
1334 dc->disk.c->set_uuid);
1338 /* when dc->disk.kobj released */
1342 disk.kobj);
1349 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl);
1351 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags))
1362 bd_unlink_disk_holder(dc->bdev, dc->disk.disk);
1363 del_gendisk(dc->disk.disk);
1365 bcache_device_free(&dc->disk);
1378 kobject_put(&dc->disk.kobj);
1383 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl);
1384 struct bcache_device *d = &dc->disk;
1404 closure_init(&dc->disk.cl, NULL);
1405 set_closure_fn(&dc->disk.cl, cached_dev_flush, system_wq);
1406 kobject_init(&dc->disk.kobj, &bch_cached_dev_ktype);
1411 bch_cache_accounting_init(&dc->accounting, &dc->disk.cl);
1420 dc->disk.stripe_size = q->limits.io_opt >> 9;
1422 if (dc->disk.stripe_size)
1426 ret = bcache_device_init(&dc->disk, block_size,
1432 blk_queue_io_opt(dc->disk.disk->queue,
1433 max(queue_io_opt(dc->disk.disk->queue), queue_io_opt(q)));
1464 if (kobject_add(&dc->disk.kobj, bdev_kobj(bdev), "bcache"))
1466 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj))
1487 bcache_device_stop(&dc->disk);
1508 del_gendisk(d->disk);
1545 err = add_disk(d->disk);
1549 err = kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache");
1558 set_disk_ro(d->disk, 1);
1612 if (!dc || test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags))
1620 dc->disk.disk->disk_name, dc->bdev);
1622 bcache_device_stop(&dc->disk);
1776 d->disk->disk_name, c->set_uuid);
1784 d->disk->disk_name);
1806 d->disk->disk_name);
1826 dc = container_of(d, struct cached_dev, disk);
2703 bcache_device_stop(&pdev->dc->disk);
2764 bcache_device_stop(&dc->disk);