Lines Matching refs:disk

802 		bd_unlink_disk_holder(ca->bdev, d->disk);  in bcache_device_unlink()
812 bd_link_disk_holder(ca->bdev, d->disk); in bcache_device_link()
875 struct gendisk *disk = d->disk; in bcache_device_free() local
879 if (disk) in bcache_device_free()
880 pr_info("%s stopped\n", disk->disk_name); in bcache_device_free()
887 if (disk) { in bcache_device_free()
889 first_minor_to_idx(disk->first_minor)); in bcache_device_free()
890 blk_cleanup_disk(disk); in bcache_device_free()
940 d->disk = blk_alloc_disk(NUMA_NO_NODE); in bcache_device_init()
941 if (!d->disk) in bcache_device_init()
944 set_capacity(d->disk, sectors); in bcache_device_init()
945 snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx); in bcache_device_init()
947 d->disk->major = bcache_major; in bcache_device_init()
948 d->disk->first_minor = idx_to_first_minor(idx); in bcache_device_init()
949 d->disk->minors = BCACHE_MINORS; in bcache_device_init()
950 d->disk->fops = ops; in bcache_device_init()
951 d->disk->private_data = d; in bcache_device_init()
953 q = d->disk->queue; in bcache_device_init()
970 d->disk->disk_name, q->limits.logical_block_size, in bcache_device_init()
977 blk_queue_flag_set(QUEUE_FLAG_NONROT, d->disk->queue); in bcache_device_init()
978 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, d->disk->queue); in bcache_device_init()
979 blk_queue_flag_set(QUEUE_FLAG_DISCARD, d->disk->queue); in bcache_device_init()
1033 dc->disk.name); in cached_dev_status_update()
1037 bcache_device_stop(&dc->disk); in cached_dev_status_update()
1051 struct bcache_device *d = &dc->disk; in bch_cached_dev_run()
1083 ret = add_disk(d->disk); in bch_cached_dev_run()
1086 bd_link_disk_holder(dc->bdev, dc->disk.disk); in bch_cached_dev_run()
1091 kobject_uevent_env(&disk_to_dev(d->disk)->kobj, KOBJ_CHANGE, env); in bch_cached_dev_run()
1093 if (sysfs_create_link(&d->kobj, &disk_to_dev(d->disk)->kobj, "dev") || in bch_cached_dev_run()
1094 sysfs_create_link(&disk_to_dev(d->disk)->kobj, in bch_cached_dev_run()
1127 &dc->disk.flags)) in cancel_writeback_rate_update_dwork()
1142 struct cache_set *c = dc->disk.c; in cached_dev_detach_finish()
1144 BUG_ON(!test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)); in cached_dev_detach_finish()
1148 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in cached_dev_detach_finish()
1158 bcache_device_detach(&dc->disk); in cached_dev_detach_finish()
1162 clear_bit(BCACHE_DEV_DETACHING, &dc->disk.flags); in cached_dev_detach_finish()
1163 clear_bit(BCACHE_DEV_UNLINK_DONE, &dc->disk.flags); in cached_dev_detach_finish()
1170 closure_put(&dc->disk.cl); in cached_dev_detach_finish()
1177 if (test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_detach()
1180 if (test_and_set_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)) in bch_cached_dev_detach()
1187 closure_get(&dc->disk.cl); in bch_cached_dev_detach()
1206 if (dc->disk.c) { in bch_cached_dev_attach()
1281 bcache_device_attach(&dc->disk, c, u - c->uuids); in bch_cached_dev_attach()
1297 dc->disk.disk->disk_name); in bch_cached_dev_attach()
1306 bch_sectors_dirty_init(&dc->disk); in bch_cached_dev_attach()
1323 bcache_device_link(&dc->disk, c, "bdev"); in bch_cached_dev_attach()
1329 set_disk_ro(dc->disk.disk, 1); in bch_cached_dev_attach()
1337 dc->disk.disk->disk_name, in bch_cached_dev_attach()
1338 dc->disk.c->set_uuid); in bch_cached_dev_attach()
1346 disk.kobj); in bch_cached_dev_release()
1353 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl); in cached_dev_free()
1355 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in cached_dev_free()
1366 bd_unlink_disk_holder(dc->bdev, dc->disk.disk); in cached_dev_free()
1367 del_gendisk(dc->disk.disk); in cached_dev_free()
1369 bcache_device_free(&dc->disk); in cached_dev_free()
1382 kobject_put(&dc->disk.kobj); in cached_dev_free()
1387 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl); in cached_dev_flush()
1388 struct bcache_device *d = &dc->disk; in cached_dev_flush()
1408 closure_init(&dc->disk.cl, NULL); in cached_dev_init()
1409 set_closure_fn(&dc->disk.cl, cached_dev_flush, system_wq); in cached_dev_init()
1410 kobject_init(&dc->disk.kobj, &bch_cached_dev_ktype); in cached_dev_init()
1415 bch_cache_accounting_init(&dc->accounting, &dc->disk.cl); in cached_dev_init()
1424 dc->disk.stripe_size = q->limits.io_opt >> 9; in cached_dev_init()
1426 if (dc->disk.stripe_size) in cached_dev_init()
1430 ret = bcache_device_init(&dc->disk, block_size, in cached_dev_init()
1436 blk_queue_io_opt(dc->disk.disk->queue, in cached_dev_init()
1437 max(queue_io_opt(dc->disk.disk->queue), queue_io_opt(q))); in cached_dev_init()
1469 if (kobject_add(&dc->disk.kobj, bdev_kobj(bdev), "bcache")) in register_bdev()
1471 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj)) in register_bdev()
1492 bcache_device_stop(&dc->disk); in register_bdev()
1513 del_gendisk(d->disk); in flash_dev_free()
1550 err = add_disk(d->disk); in flash_dev_run()
1554 err = kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache"); in flash_dev_run()
1563 set_disk_ro(d->disk, 1); in flash_dev_run()
1617 if (!dc || test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_error()
1625 dc->disk.disk->disk_name, dc->bdev); in bch_cached_dev_error()
1627 bcache_device_stop(&dc->disk); in bch_cached_dev_error()
1781 d->disk->disk_name, c->set_uuid); in conditional_stop_bcache_device()
1789 d->disk->disk_name); in conditional_stop_bcache_device()
1811 d->disk->disk_name); in conditional_stop_bcache_device()
1831 dc = container_of(d, struct cached_dev, disk); in __cache_set_unregister()
2712 bcache_device_stop(&pdev->dc->disk); in bch_pending_bdevs_cleanup()
2773 bcache_device_stop(&dc->disk); in bcache_reboot()