Lines Matching full: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) in open_dev() argument
737 struct bcache_device *d = disk->private_data; in open_dev()
798 bd_unlink_disk_holder(ca->bdev, d->disk); in bcache_device_unlink()
808 bd_link_disk_holder(ca->bdev, d->disk); in bcache_device_link()
871 struct gendisk *disk = d->disk; in bcache_device_free() local
875 if (disk) in bcache_device_free()
876 pr_info("%s stopped\n", disk->disk_name); in bcache_device_free()
883 if (disk) { in bcache_device_free()
885 first_minor_to_idx(disk->first_minor)); in bcache_device_free()
886 put_disk(disk); in bcache_device_free()
928 pr_err("nr_stripes too large or invalid: %llu (start sector beyond end of disk?)\n", in bcache_device_init()
971 d->disk = blk_alloc_disk(&lim, NUMA_NO_NODE); in bcache_device_init()
972 if (IS_ERR(d->disk)) in bcache_device_init()
975 set_capacity(d->disk, sectors); in bcache_device_init()
976 snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx); in bcache_device_init()
978 d->disk->major = bcache_major; in bcache_device_init()
979 d->disk->first_minor = idx_to_first_minor(idx); in bcache_device_init()
980 d->disk->minors = BCACHE_MINORS; in bcache_device_init()
981 d->disk->fops = ops; in bcache_device_init()
982 d->disk->private_data = d; in bcache_device_init()
1035 dc->disk.name); in cached_dev_status_update()
1039 bcache_device_stop(&dc->disk); in cached_dev_status_update()
1053 struct bcache_device *d = &dc->disk; in bch_cached_dev_run()
1085 ret = add_disk(d->disk); in bch_cached_dev_run()
1088 bd_link_disk_holder(dc->bdev, dc->disk.disk); in bch_cached_dev_run()
1093 kobject_uevent_env(&disk_to_dev(d->disk)->kobj, KOBJ_CHANGE, env); in bch_cached_dev_run()
1095 if (sysfs_create_link(&d->kobj, &disk_to_dev(d->disk)->kobj, "dev") || in bch_cached_dev_run()
1096 sysfs_create_link(&disk_to_dev(d->disk)->kobj, in bch_cached_dev_run()
1098 pr_err("Couldn't create bcache dev <-> disk sysfs symlinks\n"); in bch_cached_dev_run()
1129 &dc->disk.flags)) in cancel_writeback_rate_update_dwork()
1144 struct cache_set *c = dc->disk.c; in cached_dev_detach_finish()
1146 BUG_ON(!test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)); in cached_dev_detach_finish()
1150 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in cached_dev_detach_finish()
1160 bcache_device_detach(&dc->disk); in cached_dev_detach_finish()
1164 clear_bit(BCACHE_DEV_DETACHING, &dc->disk.flags); in cached_dev_detach_finish()
1165 clear_bit(BCACHE_DEV_UNLINK_DONE, &dc->disk.flags); in cached_dev_detach_finish()
1172 closure_put(&dc->disk.cl); in cached_dev_detach_finish()
1179 if (test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_detach()
1182 if (test_and_set_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)) in bch_cached_dev_detach()
1189 closure_get(&dc->disk.cl); in bch_cached_dev_detach()
1208 if (dc->disk.c) { in bch_cached_dev_attach()
1283 bcache_device_attach(&dc->disk, c, u - c->uuids); in bch_cached_dev_attach()
1299 dc->disk.disk->disk_name); in bch_cached_dev_attach()
1308 bch_sectors_dirty_init(&dc->disk); in bch_cached_dev_attach()
1325 bcache_device_link(&dc->disk, c, "bdev"); in bch_cached_dev_attach()
1331 set_disk_ro(dc->disk.disk, 1); in bch_cached_dev_attach()
1339 dc->disk.disk->disk_name, in bch_cached_dev_attach()
1340 dc->disk.c->set_uuid); in bch_cached_dev_attach()
1344 /* when dc->disk.kobj released */
1348 disk.kobj); in bch_cached_dev_release()
1355 closure_type(dc, struct cached_dev, disk.cl); in CLOSURE_CALLBACK()
1357 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in CLOSURE_CALLBACK()
1368 bd_unlink_disk_holder(dc->bdev, dc->disk.disk); in CLOSURE_CALLBACK()
1369 del_gendisk(dc->disk.disk); in CLOSURE_CALLBACK()
1371 bcache_device_free(&dc->disk); in CLOSURE_CALLBACK()
1384 kobject_put(&dc->disk.kobj); in CLOSURE_CALLBACK()
1389 closure_type(dc, struct cached_dev, disk.cl); in CLOSURE_CALLBACK()
1390 struct bcache_device *d = &dc->disk; in CLOSURE_CALLBACK()
1410 closure_init(&dc->disk.cl, NULL); in cached_dev_init()
1411 set_closure_fn(&dc->disk.cl, cached_dev_flush, system_percpu_wq); in cached_dev_init()
1412 kobject_init(&dc->disk.kobj, &bch_cached_dev_ktype); in cached_dev_init()
1417 bch_cache_accounting_init(&dc->accounting, &dc->disk.cl); in cached_dev_init()
1430 ret = bcache_device_init(&dc->disk, block_size, in cached_dev_init()
1466 if (kobject_add(&dc->disk.kobj, bdev_kobj(dc->bdev), "bcache")) in register_bdev()
1468 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj)) in register_bdev()
1489 bcache_device_stop(&dc->disk); in register_bdev()
1510 del_gendisk(d->disk); in CLOSURE_CALLBACK()
1546 err = add_disk(d->disk); in flash_dev_run()
1550 err = kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache"); in flash_dev_run()
1559 set_disk_ro(d->disk, 1); in flash_dev_run()
1613 if (!dc || test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_error()
1621 dc->disk.disk->disk_name, dc->bdev); in bch_cached_dev_error()
1623 bcache_device_stop(&dc->disk); in bch_cached_dev_error()
1782 d->disk->disk_name, c->set_uuid); in conditional_stop_bcache_device()
1790 d->disk->disk_name); in conditional_stop_bcache_device()
1812 d->disk->disk_name); in conditional_stop_bcache_device()
1832 dc = container_of(d, struct cached_dev, disk); in CLOSURE_CALLBACK()
2250 * When the cache disk is first registered, ca->sb.njournal_buckets in cache_alloc()
2736 bcache_device_stop(&pdev->dc->disk); in bch_pending_bdevs_cleanup()
2797 bcache_device_stop(&dc->disk); in bcache_reboot()