Lines Matching refs:fs_devices
274 static void free_fs_devices(struct btrfs_fs_devices *fs_devices) in free_fs_devices() argument
277 WARN_ON(fs_devices->opened); in free_fs_devices()
278 while (!list_empty(&fs_devices->devices)) { in free_fs_devices()
279 device = list_entry(fs_devices->devices.next, in free_fs_devices()
284 kfree(fs_devices); in free_fs_devices()
302 struct btrfs_fs_devices *fs_devices; in btrfs_cleanup_fs_uuids() local
305 fs_devices = list_entry(fs_uuids.next, in btrfs_cleanup_fs_uuids()
307 list_del(&fs_devices->fs_list); in btrfs_cleanup_fs_uuids()
308 free_fs_devices(fs_devices); in btrfs_cleanup_fs_uuids()
357 static struct btrfs_device *find_device(struct btrfs_fs_devices *fs_devices, in find_device() argument
362 list_for_each_entry(dev, &fs_devices->devices, dev_list) { in find_device()
373 struct btrfs_fs_devices *fs_devices; in find_fsid() local
375 list_for_each_entry(fs_devices, &fs_uuids, fs_list) { in find_fsid()
376 if (memcmp(fsid, fs_devices->fsid, BTRFS_FSID_SIZE) == 0) in find_fsid()
377 return fs_devices; in find_fsid()
565 fs_info->fs_devices->open_devices > 1) { in run_scheduled_bios()
636 struct btrfs_fs_devices *fs_devices, *tmp_fs_devices; in btrfs_free_stale_devices() local
639 list_for_each_entry_safe(fs_devices, tmp_fs_devices, &fs_uuids, fs_list) { in btrfs_free_stale_devices()
640 mutex_lock(&fs_devices->device_list_mutex); in btrfs_free_stale_devices()
641 if (fs_devices->opened) { in btrfs_free_stale_devices()
642 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_free_stale_devices()
647 &fs_devices->devices, dev_list) { in btrfs_free_stale_devices()
664 fs_devices->num_devices--; in btrfs_free_stale_devices()
668 if (fs_devices->num_devices == 0) in btrfs_free_stale_devices()
671 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_free_stale_devices()
672 if (fs_devices->num_devices == 0) { in btrfs_free_stale_devices()
673 btrfs_sysfs_remove_fsid(fs_devices); in btrfs_free_stale_devices()
674 list_del(&fs_devices->fs_list); in btrfs_free_stale_devices()
675 free_fs_devices(fs_devices); in btrfs_free_stale_devices()
680 static int btrfs_open_one_device(struct btrfs_fs_devices *fs_devices, in btrfs_open_one_device() argument
713 fs_devices->seeding = 1; in btrfs_open_one_device()
723 fs_devices->rotating = 1; in btrfs_open_one_device()
729 fs_devices->open_devices++; in btrfs_open_one_device()
732 fs_devices->rw_devices++; in btrfs_open_one_device()
733 list_add_tail(&device->dev_alloc_list, &fs_devices->alloc_list); in btrfs_open_one_device()
758 struct btrfs_fs_devices *fs_devices; in device_list_add() local
763 fs_devices = find_fsid(disk_super->fsid); in device_list_add()
764 if (!fs_devices) { in device_list_add()
765 fs_devices = alloc_fs_devices(disk_super->fsid); in device_list_add()
766 if (IS_ERR(fs_devices)) in device_list_add()
767 return ERR_CAST(fs_devices); in device_list_add()
769 mutex_lock(&fs_devices->device_list_mutex); in device_list_add()
770 list_add(&fs_devices->fs_list, &fs_uuids); in device_list_add()
774 mutex_lock(&fs_devices->device_list_mutex); in device_list_add()
775 device = find_device(fs_devices, devid, in device_list_add()
780 if (fs_devices->opened) { in device_list_add()
781 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
788 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
796 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
801 list_add_rcu(&device->dev_list, &fs_devices->devices); in device_list_add()
802 fs_devices->num_devices++; in device_list_add()
804 device->fs_devices = fs_devices; in device_list_add()
841 if (!fs_devices->opened && found_transid < device->generation) { in device_list_add()
849 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
855 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
861 fs_devices->missing_devices--; in device_list_add()
872 if (!fs_devices->opened) in device_list_add()
875 fs_devices->total_devices = btrfs_super_num_devices(disk_super); in device_list_add()
877 mutex_unlock(&fs_devices->device_list_mutex); in device_list_add()
883 struct btrfs_fs_devices *fs_devices; in clone_fs_devices() local
887 fs_devices = alloc_fs_devices(orig->fsid); in clone_fs_devices()
888 if (IS_ERR(fs_devices)) in clone_fs_devices()
889 return fs_devices; in clone_fs_devices()
892 fs_devices->total_devices = orig->total_devices; in clone_fs_devices()
917 list_add(&device->dev_list, &fs_devices->devices); in clone_fs_devices()
918 device->fs_devices = fs_devices; in clone_fs_devices()
919 fs_devices->num_devices++; in clone_fs_devices()
922 return fs_devices; in clone_fs_devices()
925 free_fs_devices(fs_devices); in clone_fs_devices()
933 void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step) in btrfs_free_extra_devids() argument
941 list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) { in btrfs_free_extra_devids()
972 fs_devices->open_devices--; in btrfs_free_extra_devids()
979 fs_devices->rw_devices--; in btrfs_free_extra_devids()
982 fs_devices->num_devices--; in btrfs_free_extra_devids()
986 if (fs_devices->seed) { in btrfs_free_extra_devids()
987 fs_devices = fs_devices->seed; in btrfs_free_extra_devids()
991 fs_devices->latest_bdev = latest_dev->bdev; in btrfs_free_extra_devids()
1019 struct btrfs_fs_devices *fs_devices = device->fs_devices; in btrfs_close_one_device() local
1024 fs_devices->open_devices--; in btrfs_close_one_device()
1029 fs_devices->rw_devices--; in btrfs_close_one_device()
1033 fs_devices->missing_devices--; in btrfs_close_one_device()
1049 new_device->fs_devices = device->fs_devices; in btrfs_close_one_device()
1054 static int close_fs_devices(struct btrfs_fs_devices *fs_devices) in close_fs_devices() argument
1058 if (--fs_devices->opened > 0) in close_fs_devices()
1061 mutex_lock(&fs_devices->device_list_mutex); in close_fs_devices()
1062 list_for_each_entry_safe(device, tmp, &fs_devices->devices, dev_list) { in close_fs_devices()
1065 mutex_unlock(&fs_devices->device_list_mutex); in close_fs_devices()
1067 WARN_ON(fs_devices->open_devices); in close_fs_devices()
1068 WARN_ON(fs_devices->rw_devices); in close_fs_devices()
1069 fs_devices->opened = 0; in close_fs_devices()
1070 fs_devices->seeding = 0; in close_fs_devices()
1075 int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) in btrfs_close_devices() argument
1081 ret = close_fs_devices(fs_devices); in btrfs_close_devices()
1082 if (!fs_devices->opened) { in btrfs_close_devices()
1083 seed_devices = fs_devices->seed; in btrfs_close_devices()
1084 fs_devices->seed = NULL; in btrfs_close_devices()
1089 fs_devices = seed_devices; in btrfs_close_devices()
1090 seed_devices = fs_devices->seed; in btrfs_close_devices()
1091 close_fs_devices(fs_devices); in btrfs_close_devices()
1092 free_fs_devices(fs_devices); in btrfs_close_devices()
1097 static int open_fs_devices(struct btrfs_fs_devices *fs_devices, in open_fs_devices() argument
1106 list_for_each_entry(device, &fs_devices->devices, dev_list) { in open_fs_devices()
1108 if (btrfs_open_one_device(fs_devices, device, flags, holder)) in open_fs_devices()
1115 if (fs_devices->open_devices == 0) { in open_fs_devices()
1119 fs_devices->opened = 1; in open_fs_devices()
1120 fs_devices->latest_bdev = latest_dev->bdev; in open_fs_devices()
1121 fs_devices->total_rw_bytes = 0; in open_fs_devices()
1140 int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, in btrfs_open_devices() argument
1147 mutex_lock(&fs_devices->device_list_mutex); in btrfs_open_devices()
1148 if (fs_devices->opened) { in btrfs_open_devices()
1149 fs_devices->opened++; in btrfs_open_devices()
1152 list_sort(NULL, &fs_devices->devices, devid_cmp); in btrfs_open_devices()
1153 ret = open_fs_devices(fs_devices, flags, holder); in btrfs_open_devices()
1155 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_open_devices()
1845 next_device = btrfs_find_next_active_device(fs_info->fs_devices, in btrfs_assign_next_active_device()
1853 if (fs_info->fs_devices->latest_bdev == device->bdev) in btrfs_assign_next_active_device()
1854 fs_info->fs_devices->latest_bdev = next_device->bdev; in btrfs_assign_next_active_device()
1862 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_rm_device() local
1868 num_devices = fs_devices->num_devices; in btrfs_rm_device()
1891 fs_info->fs_devices->rw_devices == 1) { in btrfs_rm_device()
1899 device->fs_devices->rw_devices--; in btrfs_rm_device()
1936 cur_devices = device->fs_devices; in btrfs_rm_device()
1937 mutex_lock(&fs_devices->device_list_mutex); in btrfs_rm_device()
1943 if (cur_devices != fs_devices) in btrfs_rm_device()
1944 fs_devices->total_devices--; in btrfs_rm_device()
1954 btrfs_sysfs_rm_device_link(fs_devices, device); in btrfs_rm_device()
1959 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_rm_device()
1973 while (fs_devices) { in btrfs_rm_device()
1974 if (fs_devices->seed == cur_devices) { in btrfs_rm_device()
1975 fs_devices->seed = cur_devices->seed; in btrfs_rm_device()
1978 fs_devices = fs_devices->seed; in btrfs_rm_device()
1993 &fs_devices->alloc_list); in btrfs_rm_device()
1994 device->fs_devices->rw_devices++; in btrfs_rm_device()
2002 struct btrfs_fs_devices *fs_devices; in btrfs_rm_dev_replace_remove_srcdev() local
2004 lockdep_assert_held(&srcdev->fs_info->fs_devices->device_list_mutex); in btrfs_rm_dev_replace_remove_srcdev()
2012 fs_devices = srcdev->fs_devices; in btrfs_rm_dev_replace_remove_srcdev()
2016 fs_devices->num_devices--; in btrfs_rm_dev_replace_remove_srcdev()
2018 fs_devices->missing_devices--; in btrfs_rm_dev_replace_remove_srcdev()
2021 fs_devices->rw_devices--; in btrfs_rm_dev_replace_remove_srcdev()
2024 fs_devices->open_devices--; in btrfs_rm_dev_replace_remove_srcdev()
2030 struct btrfs_fs_devices *fs_devices = srcdev->fs_devices; in btrfs_rm_dev_replace_free_srcdev() local
2041 if (!fs_devices->num_devices) { in btrfs_rm_dev_replace_free_srcdev()
2050 ASSERT(fs_devices->seeding); in btrfs_rm_dev_replace_free_srcdev()
2052 tmp_fs_devices = fs_info->fs_devices; in btrfs_rm_dev_replace_free_srcdev()
2054 if (tmp_fs_devices->seed == fs_devices) { in btrfs_rm_dev_replace_free_srcdev()
2055 tmp_fs_devices->seed = fs_devices->seed; in btrfs_rm_dev_replace_free_srcdev()
2060 fs_devices->seed = NULL; in btrfs_rm_dev_replace_free_srcdev()
2061 close_fs_devices(fs_devices); in btrfs_rm_dev_replace_free_srcdev()
2062 free_fs_devices(fs_devices); in btrfs_rm_dev_replace_free_srcdev()
2068 struct btrfs_fs_devices *fs_devices = tgtdev->fs_info->fs_devices; in btrfs_destroy_dev_replace_tgtdev() local
2071 mutex_lock(&fs_devices->device_list_mutex); in btrfs_destroy_dev_replace_tgtdev()
2073 btrfs_sysfs_rm_device_link(fs_devices, tgtdev); in btrfs_destroy_dev_replace_tgtdev()
2076 fs_devices->open_devices--; in btrfs_destroy_dev_replace_tgtdev()
2078 fs_devices->num_devices--; in btrfs_destroy_dev_replace_tgtdev()
2084 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_destroy_dev_replace_tgtdev()
2135 devices = &fs_info->fs_devices->devices; in btrfs_find_device_missing_or_by_path()
2182 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_prepare_sprout() local
2190 if (!fs_devices->seeding) in btrfs_prepare_sprout()
2197 old_devices = clone_fs_devices(fs_devices); in btrfs_prepare_sprout()
2205 memcpy(seed_devices, fs_devices, sizeof(*seed_devices)); in btrfs_prepare_sprout()
2211 mutex_lock(&fs_devices->device_list_mutex); in btrfs_prepare_sprout()
2212 list_splice_init_rcu(&fs_devices->devices, &seed_devices->devices, in btrfs_prepare_sprout()
2215 device->fs_devices = seed_devices; in btrfs_prepare_sprout()
2218 list_splice_init(&fs_devices->alloc_list, &seed_devices->alloc_list); in btrfs_prepare_sprout()
2221 fs_devices->seeding = 0; in btrfs_prepare_sprout()
2222 fs_devices->num_devices = 0; in btrfs_prepare_sprout()
2223 fs_devices->open_devices = 0; in btrfs_prepare_sprout()
2224 fs_devices->missing_devices = 0; in btrfs_prepare_sprout()
2225 fs_devices->rotating = 0; in btrfs_prepare_sprout()
2226 fs_devices->seed = seed_devices; in btrfs_prepare_sprout()
2228 generate_random_uuid(fs_devices->fsid); in btrfs_prepare_sprout()
2229 memcpy(fs_info->fsid, fs_devices->fsid, BTRFS_FSID_SIZE); in btrfs_prepare_sprout()
2230 memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE); in btrfs_prepare_sprout()
2231 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_prepare_sprout()
2299 if (device->fs_devices->seeding) { in btrfs_finish_sprout()
2323 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_init_new_device() local
2330 if (sb_rdonly(sb) && !fs_devices->seeding) in btrfs_init_new_device()
2338 if (fs_devices->seeding) { in btrfs_init_new_device()
2346 mutex_lock(&fs_devices->device_list_mutex); in btrfs_init_new_device()
2347 list_for_each_entry(device, &fs_devices->devices, dev_list) { in btrfs_init_new_device()
2351 &fs_devices->device_list_mutex); in btrfs_init_new_device()
2355 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_init_new_device()
2404 device->fs_devices = fs_devices; in btrfs_init_new_device()
2406 mutex_lock(&fs_devices->device_list_mutex); in btrfs_init_new_device()
2408 list_add_rcu(&device->dev_list, &fs_devices->devices); in btrfs_init_new_device()
2409 list_add(&device->dev_alloc_list, &fs_devices->alloc_list); in btrfs_init_new_device()
2410 fs_devices->num_devices++; in btrfs_init_new_device()
2411 fs_devices->open_devices++; in btrfs_init_new_device()
2412 fs_devices->rw_devices++; in btrfs_init_new_device()
2413 fs_devices->total_devices++; in btrfs_init_new_device()
2414 fs_devices->total_rw_bytes += device->total_bytes; in btrfs_init_new_device()
2419 fs_devices->rotating = 1; in btrfs_init_new_device()
2431 btrfs_sysfs_add_device_link(fs_devices, device); in btrfs_init_new_device()
2440 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_init_new_device()
2472 if (kobject_rename(&fs_devices->fsid_kobj, fsid_buf)) in btrfs_init_new_device()
2507 btrfs_sysfs_rm_device_link(fs_devices, device); in btrfs_init_new_device()
2508 mutex_lock(&fs_info->fs_devices->device_list_mutex); in btrfs_init_new_device()
2512 fs_info->fs_devices->num_devices--; in btrfs_init_new_device()
2513 fs_info->fs_devices->open_devices--; in btrfs_init_new_device()
2514 fs_info->fs_devices->rw_devices--; in btrfs_init_new_device()
2515 fs_info->fs_devices->total_devices--; in btrfs_init_new_device()
2516 fs_info->fs_devices->total_rw_bytes -= device->total_bytes; in btrfs_init_new_device()
2523 mutex_unlock(&fs_info->fs_devices->device_list_mutex); in btrfs_init_new_device()
2591 struct btrfs_fs_devices *fs_devices; in btrfs_grow_device() local
2610 fs_devices = fs_info->fs_devices; in btrfs_grow_device()
2614 device->fs_devices->total_rw_bytes += diff; in btrfs_grow_device()
2621 &fs_devices->resized_devices); in btrfs_grow_device()
2745 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_remove_chunk() local
2767 mutex_lock(&fs_devices->device_list_mutex); in btrfs_remove_chunk()
2774 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_remove_chunk()
2791 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_remove_chunk()
2797 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_remove_chunk()
3454 devices = &fs_info->fs_devices->devices; in __btrfs_balance()
3743 num_devices = fs_info->fs_devices->num_devices; in btrfs_balance()
4364 device->fs_devices->total_rw_bytes -= diff; in btrfs_shrink_device()
4485 &fs_info->fs_devices->resized_devices); in btrfs_shrink_device()
4506 device->fs_devices->total_rw_bytes += diff; in btrfs_shrink_device()
4582 struct btrfs_fs_devices *fs_devices = info->fs_devices; in __btrfs_alloc_chunk() local
4610 if (list_empty(&fs_devices->alloc_list)) { in __btrfs_alloc_chunk()
4632 if (fs_devices->total_rw_bytes > 50ULL * SZ_1G) in __btrfs_alloc_chunk()
4651 max_chunk_size = min(div_factor(fs_devices->total_rw_bytes, 1), in __btrfs_alloc_chunk()
4654 devices_info = kcalloc(fs_devices->rw_devices, sizeof(*devices_info), in __btrfs_alloc_chunk()
4664 list_for_each_entry(device, &fs_devices->alloc_list, dev_alloc_list) { in __btrfs_alloc_chunk()
4706 if (ndevs == fs_devices->rw_devices) { in __btrfs_alloc_chunk()
4708 __func__, fs_devices->rw_devices); in __btrfs_alloc_chunk()
4907 mutex_lock(&fs_info->fs_devices->device_list_mutex); in btrfs_finish_chunk_alloc()
4921 mutex_unlock(&fs_info->fs_devices->device_list_mutex); in btrfs_finish_chunk_alloc()
4935 mutex_unlock(&fs_info->fs_devices->device_list_mutex); in btrfs_finish_chunk_alloc()
6234 cur_devices = fs_info->fs_devices; in btrfs_find_device()
6247 static struct btrfs_device *add_missing_dev(struct btrfs_fs_devices *fs_devices, in add_missing_dev() argument
6256 list_add(&device->dev_list, &fs_devices->devices); in add_missing_dev()
6257 device->fs_devices = fs_devices; in add_missing_dev()
6258 fs_devices->num_devices++; in add_missing_dev()
6261 fs_devices->missing_devices++; in add_missing_dev()
6497 add_missing_dev(fs_info->fs_devices, devid, in read_one_chunk()
6552 struct btrfs_fs_devices *fs_devices; in open_seed_devices() local
6558 fs_devices = fs_info->fs_devices->seed; in open_seed_devices()
6559 while (fs_devices) { in open_seed_devices()
6560 if (!memcmp(fs_devices->fsid, fsid, BTRFS_FSID_SIZE)) in open_seed_devices()
6561 return fs_devices; in open_seed_devices()
6563 fs_devices = fs_devices->seed; in open_seed_devices()
6566 fs_devices = find_fsid(fsid); in open_seed_devices()
6567 if (!fs_devices) { in open_seed_devices()
6571 fs_devices = alloc_fs_devices(fsid); in open_seed_devices()
6572 if (IS_ERR(fs_devices)) in open_seed_devices()
6573 return fs_devices; in open_seed_devices()
6575 fs_devices->seeding = 1; in open_seed_devices()
6576 fs_devices->opened = 1; in open_seed_devices()
6577 return fs_devices; in open_seed_devices()
6580 fs_devices = clone_fs_devices(fs_devices); in open_seed_devices()
6581 if (IS_ERR(fs_devices)) in open_seed_devices()
6582 return fs_devices; in open_seed_devices()
6584 ret = open_fs_devices(fs_devices, FMODE_READ, fs_info->bdev_holder); in open_seed_devices()
6586 free_fs_devices(fs_devices); in open_seed_devices()
6587 fs_devices = ERR_PTR(ret); in open_seed_devices()
6591 if (!fs_devices->seeding) { in open_seed_devices()
6592 close_fs_devices(fs_devices); in open_seed_devices()
6593 free_fs_devices(fs_devices); in open_seed_devices()
6594 fs_devices = ERR_PTR(-EINVAL); in open_seed_devices()
6598 fs_devices->seed = fs_info->fs_devices->seed; in open_seed_devices()
6599 fs_info->fs_devices->seed = fs_devices; in open_seed_devices()
6601 return fs_devices; in open_seed_devices()
6608 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in read_one_dev() local
6622 fs_devices = open_seed_devices(fs_info, fs_uuid); in read_one_dev()
6623 if (IS_ERR(fs_devices)) in read_one_dev()
6624 return PTR_ERR(fs_devices); in read_one_dev()
6635 device = add_missing_dev(fs_devices, devid, dev_uuid); in read_one_dev()
6662 device->fs_devices->missing_devices++; in read_one_dev()
6667 if (device->fs_devices != fs_devices) { in read_one_dev()
6671 list_move(&device->dev_list, &fs_devices->devices); in read_one_dev()
6672 device->fs_devices->num_devices--; in read_one_dev()
6673 fs_devices->num_devices++; in read_one_dev()
6675 device->fs_devices->missing_devices--; in read_one_dev()
6676 fs_devices->missing_devices++; in read_one_dev()
6678 device->fs_devices = fs_devices; in read_one_dev()
6682 if (device->fs_devices != fs_info->fs_devices) { in read_one_dev()
6693 device->fs_devices->total_rw_bytes += device->total_bytes; in read_one_dev()
6954 if (total_dev != fs_info->fs_devices->total_devices) { in btrfs_read_chunk_tree()
6963 fs_info->fs_devices->total_rw_bytes) { in btrfs_read_chunk_tree()
6967 fs_info->fs_devices->total_rw_bytes); in btrfs_read_chunk_tree()
6982 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_init_devices_late() local
6985 while (fs_devices) { in btrfs_init_devices_late()
6986 mutex_lock(&fs_devices->device_list_mutex); in btrfs_init_devices_late()
6987 list_for_each_entry(device, &fs_devices->devices, dev_list) in btrfs_init_devices_late()
6989 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_init_devices_late()
6991 fs_devices = fs_devices->seed; in btrfs_init_devices_late()
7008 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_init_dev_stats() local
7022 mutex_lock(&fs_devices->device_list_mutex); in btrfs_init_dev_stats()
7023 list_for_each_entry(device, &fs_devices->devices, dev_list) { in btrfs_init_dev_stats()
7057 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_init_dev_stats()
7135 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_run_dev_stats() local
7140 mutex_lock(&fs_devices->device_list_mutex); in btrfs_run_dev_stats()
7141 list_for_each_entry(device, &fs_devices->devices, dev_list) { in btrfs_run_dev_stats()
7164 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_run_dev_stats()
7213 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_get_dev_stats() local
7216 mutex_lock(&fs_devices->device_list_mutex); in btrfs_get_dev_stats()
7218 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_get_dev_stats()
7280 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_update_commit_device_size() local
7283 if (list_empty(&fs_devices->resized_devices)) in btrfs_update_commit_device_size()
7286 mutex_lock(&fs_devices->device_list_mutex); in btrfs_update_commit_device_size()
7288 list_for_each_entry_safe(curr, next, &fs_devices->resized_devices, in btrfs_update_commit_device_size()
7294 mutex_unlock(&fs_devices->device_list_mutex); in btrfs_update_commit_device_size()
7324 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_set_fs_info_ptr() local
7325 while (fs_devices) { in btrfs_set_fs_info_ptr()
7326 fs_devices->fs_info = fs_info; in btrfs_set_fs_info_ptr()
7327 fs_devices = fs_devices->seed; in btrfs_set_fs_info_ptr()
7333 struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; in btrfs_reset_fs_info_ptr() local
7334 while (fs_devices) { in btrfs_reset_fs_info_ptr()
7335 fs_devices->fs_info = NULL; in btrfs_reset_fs_info_ptr()
7336 fs_devices = fs_devices->seed; in btrfs_reset_fs_info_ptr()