Lines Matching refs:disk
704 bd_unlink_disk_holder(ca->bdev, d->disk); in bcache_device_unlink()
716 bd_link_disk_holder(ca->bdev, d->disk); in bcache_device_link()
779 struct gendisk *disk = d->disk; in bcache_device_free() local
783 if (disk) in bcache_device_free()
784 pr_info("%s stopped", disk->disk_name); in bcache_device_free()
791 if (disk) { in bcache_device_free()
792 if (disk->flags & GENHD_FL_UP) in bcache_device_free()
793 del_gendisk(disk); in bcache_device_free()
795 if (disk->queue) in bcache_device_free()
796 blk_cleanup_queue(disk->queue); in bcache_device_free()
799 first_minor_to_idx(disk->first_minor)); in bcache_device_free()
800 put_disk(disk); in bcache_device_free()
849 d->disk = alloc_disk(BCACHE_MINORS); in bcache_device_init()
850 if (!d->disk) in bcache_device_init()
853 set_capacity(d->disk, sectors); in bcache_device_init()
854 snprintf(d->disk->disk_name, DISK_NAME_LEN, "bcache%i", idx); in bcache_device_init()
856 d->disk->major = bcache_major; in bcache_device_init()
857 d->disk->first_minor = idx_to_first_minor(idx); in bcache_device_init()
858 d->disk->fops = &bcache_ops; in bcache_device_init()
859 d->disk->private_data = d; in bcache_device_init()
866 d->disk->queue = q; in bcache_device_init()
878 blk_queue_flag_set(QUEUE_FLAG_NONROT, d->disk->queue); in bcache_device_init()
879 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, d->disk->queue); in bcache_device_init()
880 blk_queue_flag_set(QUEUE_FLAG_DISCARD, d->disk->queue); in bcache_device_init()
928 "device offline", dc->disk.name); in cached_dev_status_update()
932 bcache_device_stop(&dc->disk); in cached_dev_status_update()
945 struct bcache_device *d = &dc->disk; in bch_cached_dev_run()
983 add_disk(d->disk); in bch_cached_dev_run()
984 bd_link_disk_holder(dc->bdev, dc->disk.disk); in bch_cached_dev_run()
989 kobject_uevent_env(&disk_to_dev(d->disk)->kobj, KOBJ_CHANGE, env); in bch_cached_dev_run()
994 if (sysfs_create_link(&d->kobj, &disk_to_dev(d->disk)->kobj, "dev") || in bch_cached_dev_run()
995 sysfs_create_link(&disk_to_dev(d->disk)->kobj, in bch_cached_dev_run()
1025 &dc->disk.flags)) in cancel_writeback_rate_update_dwork()
1044 BUG_ON(!test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)); in cached_dev_detach_finish()
1048 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in cached_dev_detach_finish()
1064 calc_cached_dev_sectors(dc->disk.c); in cached_dev_detach_finish()
1065 bcache_device_detach(&dc->disk); in cached_dev_detach_finish()
1068 clear_bit(BCACHE_DEV_DETACHING, &dc->disk.flags); in cached_dev_detach_finish()
1069 clear_bit(BCACHE_DEV_UNLINK_DONE, &dc->disk.flags); in cached_dev_detach_finish()
1076 closure_put(&dc->disk.cl); in cached_dev_detach_finish()
1083 if (test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_detach()
1086 if (test_and_set_bit(BCACHE_DEV_DETACHING, &dc->disk.flags)) in bch_cached_dev_detach()
1093 closure_get(&dc->disk.cl); in bch_cached_dev_detach()
1112 if (dc->disk.c) { in bch_cached_dev_attach()
1191 bcache_device_attach(&dc->disk, c, u - c->uuids); in bch_cached_dev_attach()
1207 dc->disk.disk->disk_name); in bch_cached_dev_attach()
1216 bch_sectors_dirty_init(&dc->disk); in bch_cached_dev_attach()
1234 bcache_device_link(&dc->disk, c, "bdev"); in bch_cached_dev_attach()
1242 dc->disk.disk->disk_name, in bch_cached_dev_attach()
1243 dc->disk.c->sb.set_uuid); in bch_cached_dev_attach()
1251 disk.kobj); in bch_cached_dev_release()
1258 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl); in cached_dev_free()
1260 if (test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)) in cached_dev_free()
1271 bd_unlink_disk_holder(dc->bdev, dc->disk.disk); in cached_dev_free()
1272 bcache_device_free(&dc->disk); in cached_dev_free()
1282 kobject_put(&dc->disk.kobj); in cached_dev_free()
1287 struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl); in cached_dev_flush()
1288 struct bcache_device *d = &dc->disk; in cached_dev_flush()
1308 closure_init(&dc->disk.cl, NULL); in cached_dev_init()
1309 set_closure_fn(&dc->disk.cl, cached_dev_flush, system_wq); in cached_dev_init()
1310 kobject_init(&dc->disk.kobj, &bch_cached_dev_ktype); in cached_dev_init()
1315 bch_cache_accounting_init(&dc->accounting, &dc->disk.cl); in cached_dev_init()
1324 dc->disk.stripe_size = q->limits.io_opt >> 9; in cached_dev_init()
1326 if (dc->disk.stripe_size) in cached_dev_init()
1330 ret = bcache_device_init(&dc->disk, block_size, in cached_dev_init()
1335 dc->disk.disk->queue->backing_dev_info->ra_pages = in cached_dev_init()
1336 max(dc->disk.disk->queue->backing_dev_info->ra_pages, in cached_dev_init()
1374 if (kobject_add(&dc->disk.kobj, &part_to_dev(bdev->bd_part)->kobj, in register_bdev()
1377 if (bch_cache_accounting_add_kobjs(&dc->accounting, &dc->disk.kobj)) in register_bdev()
1398 bcache_device_stop(&dc->disk); in register_bdev()
1453 add_disk(d->disk); in flash_dev_run()
1455 if (kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache")) in flash_dev_run()
1510 if (!dc || test_bit(BCACHE_DEV_CLOSING, &dc->disk.flags)) in bch_cached_dev_error()
1518 dc->disk.disk->disk_name, dc->backing_dev_name); in bch_cached_dev_error()
1520 bcache_device_stop(&dc->disk); in bch_cached_dev_error()
1673 d->disk->disk_name, c->sb.set_uuid); in conditional_stop_bcache_device()
1681 d->disk->disk_name); in conditional_stop_bcache_device()
1703 d->disk->disk_name); in conditional_stop_bcache_device()
1723 dc = container_of(d, struct cached_dev, disk); in __cache_set_unregister()
2507 bcache_device_stop(&pdev->dc->disk); in bch_pending_bdevs_cleanup()
2568 bcache_device_stop(&dc->disk); in bcache_reboot()