Lines Matching refs:bdev
113 static void btrfs_kobject_uevent(struct block_device *bdev, in btrfs_kobject_uevent() argument
118 ret = kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, action); in btrfs_kobject_uevent()
122 kobject_name(&disk_to_dev(bdev->bd_disk)->kobj), in btrfs_kobject_uevent()
123 &disk_to_dev(bdev->bd_disk)->kobj); in btrfs_kobject_uevent()
189 int flush, struct block_device **bdev, in btrfs_get_bdev_and_sb() argument
194 *bdev = blkdev_get_by_path(device_path, flags, holder); in btrfs_get_bdev_and_sb()
196 if (IS_ERR(*bdev)) { in btrfs_get_bdev_and_sb()
197 ret = PTR_ERR(*bdev); in btrfs_get_bdev_and_sb()
203 filemap_write_and_wait((*bdev)->bd_inode->i_mapping); in btrfs_get_bdev_and_sb()
204 ret = set_blocksize(*bdev, 4096); in btrfs_get_bdev_and_sb()
206 blkdev_put(*bdev, flags); in btrfs_get_bdev_and_sb()
209 invalidate_bdev(*bdev); in btrfs_get_bdev_and_sb()
210 *bh = btrfs_read_dev_super(*bdev); in btrfs_get_bdev_and_sb()
213 blkdev_put(*bdev, flags); in btrfs_get_bdev_and_sb()
220 *bdev = NULL; in btrfs_get_bdev_and_sb()
275 bdi = blk_get_backing_dev_info(device->bdev); in run_scheduled_bios()
645 if (device->bdev) { in btrfs_close_extra_devices()
646 blkdev_put(device->bdev, device->mode); in btrfs_close_extra_devices()
647 device->bdev = NULL; in btrfs_close_extra_devices()
667 fs_devices->latest_bdev = latest_dev->bdev; in btrfs_close_extra_devices()
678 if (device->bdev) in __free_device()
679 blkdev_put(device->bdev, device->mode); in __free_device()
707 if (device->bdev) in __btrfs_close_devices()
777 struct block_device *bdev; in __btrfs_open_devices() local
790 if (device->bdev) in __btrfs_open_devices()
797 &bdev, &bh)) in __btrfs_open_devices()
817 device->writeable = !bdev_read_only(bdev); in __btrfs_open_devices()
821 q = bdev_get_queue(bdev); in __btrfs_open_devices()
825 device->bdev = bdev; in __btrfs_open_devices()
829 if (!blk_queue_nonrot(bdev_get_queue(bdev))) in __btrfs_open_devices()
844 blkdev_put(bdev, flags); in __btrfs_open_devices()
853 fs_devices->latest_bdev = latest_dev->bdev; in __btrfs_open_devices()
884 struct block_device *bdev; in btrfs_scan_one_device() local
904 bdev = blkdev_get_by_path(path, flags, holder); in btrfs_scan_one_device()
906 if (IS_ERR(bdev)) { in btrfs_scan_one_device()
907 ret = PTR_ERR(bdev); in btrfs_scan_one_device()
912 if (bytenr + PAGE_CACHE_SIZE >= i_size_read(bdev->bd_inode)) in btrfs_scan_one_device()
925 page = read_cache_page_gfp(bdev->bd_inode->i_mapping, in btrfs_scan_one_device()
965 blkdev_put(bdev, flags); in btrfs_scan_one_device()
1069 map = (struct map_lookup *)em->bdev; in contains_pending_extent()
1550 struct block_device *bdev; in btrfs_rm_device() local
1614 !tmp->bdev) { in btrfs_rm_device()
1619 bdev = NULL; in btrfs_rm_device()
1630 &bdev, &bh); in btrfs_rm_device()
1702 if (device->bdev == root->fs_info->sb->s_bdev) in btrfs_rm_device()
1703 root->fs_info->sb->s_bdev = next_device->bdev; in btrfs_rm_device()
1704 if (device->bdev == root->fs_info->fs_devices->latest_bdev) in btrfs_rm_device()
1705 root->fs_info->fs_devices->latest_bdev = next_device->bdev; in btrfs_rm_device()
1707 if (device->bdev) { in btrfs_rm_device()
1759 i_size_read(bdev->bd_inode)) in btrfs_rm_device()
1763 bh = __bread(bdev, bytenr / 4096, in btrfs_rm_device()
1783 if (bdev) { in btrfs_rm_device()
1785 btrfs_kobject_uevent(bdev, KOBJ_CHANGE); in btrfs_rm_device()
1793 if (bdev) in btrfs_rm_device()
1794 blkdev_put(bdev, FMODE_READ | FMODE_EXCL); in btrfs_rm_device()
1836 if (srcdev->bdev) in btrfs_rm_dev_replace_remove_srcdev()
1879 if (tgtdev->bdev) { in btrfs_destroy_dev_replace_tgtdev()
1887 if (tgtdev->bdev == fs_info->sb->s_bdev) in btrfs_destroy_dev_replace_tgtdev()
1888 fs_info->sb->s_bdev = next_device->bdev; in btrfs_destroy_dev_replace_tgtdev()
1889 if (tgtdev->bdev == fs_info->fs_devices->latest_bdev) in btrfs_destroy_dev_replace_tgtdev()
1890 fs_info->fs_devices->latest_bdev = next_device->bdev; in btrfs_destroy_dev_replace_tgtdev()
1906 struct block_device *bdev; in btrfs_find_device_by_path() local
1911 root->fs_info->bdev_holder, 0, &bdev, &bh); in btrfs_find_device_by_path()
1922 blkdev_put(bdev, FMODE_READ); in btrfs_find_device_by_path()
1941 if (tmp->in_fs_metadata && !tmp->bdev) { in btrfs_find_device_missing_or_by_path()
2101 struct block_device *bdev; in btrfs_init_new_device() local
2112 bdev = blkdev_get_by_path(device_path, FMODE_WRITE | FMODE_EXCL, in btrfs_init_new_device()
2114 if (IS_ERR(bdev)) in btrfs_init_new_device()
2115 return PTR_ERR(bdev); in btrfs_init_new_device()
2123 filemap_write_and_wait(bdev->bd_inode->i_mapping); in btrfs_init_new_device()
2129 if (device->bdev == bdev) { in btrfs_init_new_device()
2161 q = bdev_get_queue(bdev); in btrfs_init_new_device()
2169 device->total_bytes = i_size_read(bdev->bd_inode); in btrfs_init_new_device()
2173 device->bdev = bdev; in btrfs_init_new_device()
2178 set_blocksize(device->bdev, 4096); in btrfs_init_new_device()
2203 if (!blk_queue_nonrot(bdev_get_queue(bdev))) in btrfs_init_new_device()
2296 blkdev_put(bdev, FMODE_EXCL); in btrfs_init_new_device()
2310 struct block_device *bdev; in btrfs_init_dev_replace_tgtdev() local
2323 bdev = blkdev_get_by_path(device_path, FMODE_WRITE | FMODE_EXCL, in btrfs_init_dev_replace_tgtdev()
2325 if (IS_ERR(bdev)) { in btrfs_init_dev_replace_tgtdev()
2327 return PTR_ERR(bdev); in btrfs_init_dev_replace_tgtdev()
2330 filemap_write_and_wait(bdev->bd_inode->i_mapping); in btrfs_init_dev_replace_tgtdev()
2334 if (device->bdev == bdev) { in btrfs_init_dev_replace_tgtdev()
2342 if (i_size_read(bdev->bd_inode) < in btrfs_init_dev_replace_tgtdev()
2364 q = bdev_get_queue(bdev); in btrfs_init_dev_replace_tgtdev()
2380 device->bdev = bdev; in btrfs_init_dev_replace_tgtdev()
2385 set_blocksize(device->bdev, 4096); in btrfs_init_dev_replace_tgtdev()
2396 blkdev_put(bdev, FMODE_EXCL); in btrfs_init_dev_replace_tgtdev()
2612 map = (struct map_lookup *)em->bdev; in btrfs_remove_chunk()
4455 em->bdev = (struct block_device *)map; in __btrfs_alloc_chunk()
4550 map = (struct map_lookup *)em->bdev; in btrfs_finish_chunk_alloc()
4692 map = (struct map_lookup *)em->bdev; in btrfs_chunk_readonly()
4772 map = (struct map_lookup *)em->bdev; in btrfs_num_copies()
4808 map = (struct map_lookup *)em->bdev; in btrfs_full_stripe_len()
4829 map = (struct map_lookup *)em->bdev; in btrfs_is_parity_mirror()
4857 if (map->stripes[optimal].dev->bdev && in find_live_mirror()
4861 if (map->stripes[i].dev->bdev && in find_live_mirror()
4990 map = (struct map_lookup *)em->bdev; in __btrfs_map_block()
5532 map = (struct map_lookup *)em->bdev; in btrfs_rmap_block()
5611 if (dev->bdev) { in btrfs_end_bio()
5674 if (device->missing || !device->bdev) { in btrfs_schedule_bio()
5720 static int bio_size_ok(struct block_device *bdev, struct bio *bio, in bio_size_ok() argument
5724 struct request_queue *q = bdev_get_queue(bdev); in bio_size_ok()
5727 .bi_bdev = bdev, in bio_size_ok()
5766 (u64)bio->bi_iter.bi_sector, (u_long)dev->bdev->bd_dev, in submit_stripe_bio()
5771 bio->bi_bdev = dev->bdev; in submit_stripe_bio()
5787 int nr_vecs = bio_get_nr_vecs(dev->bdev); in breakup_stripe_bio()
5791 bio = btrfs_bio_alloc(dev->bdev, physical >> 9, nr_vecs, GFP_NOFS); in breakup_stripe_bio()
5882 if (!dev || !dev->bdev || (rw & WRITE && !dev->writeable)) { in btrfs_map_bio()
5891 if (!bio_size_ok(dev->bdev, first_bio, in btrfs_map_bio()
6047 em->bdev = (struct block_device *)map; in read_one_chunk()
6206 if (!device->bdev && !btrfs_test_opt(root, DEGRADED)) in read_one_dev()
6209 if(!device->bdev && !device->missing) { in read_one_dev()
6680 bh = btrfs_read_dev_super(device->bdev); in btrfs_scratch_superblock()
6731 map = (struct map_lookup *)em->bdev; in btrfs_update_commit_device_bytes_used()