Lines Matching refs:bdev
64 static const char *read_super(struct cache_sb *sb, struct block_device *bdev, in read_super() argument
69 struct buffer_head *bh = __bread(bdev, 1, SB_SIZE); in read_super()
119 if (sb->block_size << 9 < bdev_logical_block_size(bdev)) in read_super()
159 if (get_capacity(bdev->bd_disk) < sb->bucket_size * sb->nbuckets) in read_super()
260 bio->bi_bdev = dc->bdev; in bch_write_bdev_super()
306 bio->bi_bdev = ca->bdev; in bcache_write_super()
509 bio->bi_bdev = ca->bdev; in prio_io()
669 bd_unlink_disk_holder(ca->bdev, d->disk); in bcache_device_unlink()
680 bd_link_disk_holder(ca->bdev, d->disk); in bcache_device_link()
832 sectors += bdev_sectors(dc->bdev); in calc_cached_dev_sectors()
869 bd_link_disk_holder(dc->bdev, dc->disk.disk); in bch_cached_dev_run()
907 pr_info("Caching disabled for %s", bdevname(dc->bdev, buf)); in cached_dev_detach_finish()
939 bdevname(dc->bdev, buf); in bch_cached_dev_attach()
1039 bdevname(dc->bdev, buf), dc->disk.disk->disk_name, in bch_cached_dev_attach()
1063 bd_unlink_disk_holder(dc->bdev, dc->disk.disk); in cached_dev_free()
1069 if (!IS_ERR_OR_NULL(dc->bdev)) in cached_dev_free()
1070 blkdev_put(dc->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); in cached_dev_free()
1096 struct request_queue *q = bdev_get_queue(dc->bdev); in cached_dev_init()
1123 dc->bdev->bd_part->nr_sects - dc->sb.data_offset); in cached_dev_init()
1128 dc->bdev->bd_part->nr_sects - dc->sb.data_offset); in cached_dev_init()
1142 struct block_device *bdev, in register_bdev() argument
1150 dc->bdev = bdev; in register_bdev()
1151 dc->bdev->bd_holder = dc; in register_bdev()
1163 if (kobject_add(&dc->disk.kobj, &part_to_dev(bdev->bd_part)->kobj, in register_bdev()
1169 pr_info("registered backing device %s", bdevname(bdev, name)); in register_bdev()
1181 pr_notice("error opening %s: %s", bdevname(bdev, name), err); in register_bdev()
1799 if (!IS_ERR_OR_NULL(ca->bdev)) in bch_cache_release()
1800 blkdev_put(ca->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); in bch_cache_release()
1842 struct block_device *bdev, struct cache *ca) in register_cache() argument
1849 ca->bdev = bdev; in register_cache()
1850 ca->bdev->bd_holder = ca; in register_cache()
1858 if (blk_queue_discard(bdev_get_queue(ca->bdev))) in register_cache()
1865 if (kobject_add(&ca->kobj, &part_to_dev(bdev->bd_part)->kobj, "bcache")) { in register_cache()
1880 pr_info("registered cache device %s", bdevname(bdev, name)); in register_cache()
1887 pr_notice("error opening %s: %s", bdevname(bdev, name), err); in register_cache()
1900 static bool bch_is_open_backing(struct block_device *bdev) { in bch_is_open_backing() argument
1906 if (dc->bdev == bdev) in bch_is_open_backing()
1909 if (dc->bdev == bdev) in bch_is_open_backing()
1914 static bool bch_is_open_cache(struct block_device *bdev) { in bch_is_open_cache() argument
1921 if (ca->bdev == bdev) in bch_is_open_cache()
1926 static bool bch_is_open(struct block_device *bdev) { in bch_is_open() argument
1927 return bch_is_open_cache(bdev) || bch_is_open_backing(bdev); in bch_is_open()
1937 struct block_device *bdev = NULL; in register_bcache() local
1948 bdev = blkdev_get_by_path(strim(path), in register_bcache()
1951 if (IS_ERR(bdev)) { in register_bcache()
1952 if (bdev == ERR_PTR(-EBUSY)) { in register_bcache()
1953 bdev = lookup_bdev(strim(path)); in register_bcache()
1955 if (!IS_ERR(bdev) && bch_is_open(bdev)) in register_bcache()
1967 if (set_blocksize(bdev, 4096)) in register_bcache()
1970 err = read_super(sb, bdev, &sb_page); in register_bcache()
1980 register_bdev(sb, sb_page, bdev, dc); in register_bcache()
1987 if (register_cache(sb, sb_page, bdev, ca) != 0) in register_bcache()
1999 blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); in register_bcache()