Lines Matching refs:fs_info
112 static u64 get_features(struct btrfs_fs_info *fs_info, in get_features() argument
115 struct btrfs_super_block *disk_super = fs_info->super_copy; in get_features()
124 static void set_features(struct btrfs_fs_info *fs_info, in set_features() argument
127 struct btrfs_super_block *disk_super = fs_info->super_copy; in set_features()
171 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_attr_show() local
173 if (fs_info) { in btrfs_feature_attr_show()
174 u64 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_show()
187 struct btrfs_fs_info *fs_info; in btrfs_feature_attr_store() local
193 fs_info = to_fs_info(kobj); in btrfs_feature_attr_store()
194 if (!fs_info) in btrfs_feature_attr_store()
197 if (sb_rdonly(fs_info->sb)) in btrfs_feature_attr_store()
215 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
224 btrfs_info(fs_info, in btrfs_feature_attr_store()
230 btrfs_info(fs_info, "%s %s feature flag", in btrfs_feature_attr_store()
233 spin_lock(&fs_info->super_lock); in btrfs_feature_attr_store()
234 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
239 set_features(fs_info, fa->feature_set, features); in btrfs_feature_attr_store()
240 spin_unlock(&fs_info->super_lock); in btrfs_feature_attr_store()
245 btrfs_set_pending(fs_info, COMMIT); in btrfs_feature_attr_store()
246 wake_up_process(fs_info->transaction_kthread); in btrfs_feature_attr_store()
254 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_visible() local
257 if (fs_info) { in btrfs_feature_visible()
262 features = get_features(fs_info, fa->feature_set); in btrfs_feature_visible()
438 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_bytes_show() local
441 atomic64_read(&fs_info->discard_ctl.discardable_bytes)); in btrfs_discardable_bytes_show()
449 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_extents_show() local
452 atomic_read(&fs_info->discard_ctl.discardable_extents)); in btrfs_discardable_extents_show()
460 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bitmap_bytes_show() local
463 fs_info->discard_ctl.discard_bitmap_bytes); in btrfs_discard_bitmap_bytes_show()
471 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bytes_saved_show() local
474 atomic64_read(&fs_info->discard_ctl.discard_bytes_saved)); in btrfs_discard_bytes_saved_show()
482 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_extent_bytes_show() local
485 fs_info->discard_ctl.discard_extent_bytes); in btrfs_discard_extent_bytes_show()
493 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_show() local
496 READ_ONCE(fs_info->discard_ctl.iops_limit)); in btrfs_discard_iops_limit_show()
503 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_store() local
504 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_iops_limit_store()
524 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_show() local
527 READ_ONCE(fs_info->discard_ctl.kbps_limit)); in btrfs_discard_kbps_limit_show()
534 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_store() local
535 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_kbps_limit_store()
554 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_show() local
557 READ_ONCE(fs_info->discard_ctl.max_discard_size)); in btrfs_discard_max_discard_size_show()
564 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_store() local
565 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_max_discard_size_store()
636 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_size_show() local
637 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_size_show()
645 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_reserved_show() local
646 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_reserved_show()
769 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_show() local
770 char *label = fs_info->super_copy->label; in btrfs_label_show()
773 spin_lock(&fs_info->super_lock); in btrfs_label_show()
775 spin_unlock(&fs_info->super_lock); in btrfs_label_show()
784 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_store() local
787 if (!fs_info) in btrfs_label_store()
790 if (sb_rdonly(fs_info->sb)) in btrfs_label_store()
802 spin_lock(&fs_info->super_lock); in btrfs_label_store()
803 memset(fs_info->super_copy->label, 0, BTRFS_LABEL_SIZE); in btrfs_label_store()
804 memcpy(fs_info->super_copy->label, buf, p_len); in btrfs_label_store()
805 spin_unlock(&fs_info->super_lock); in btrfs_label_store()
810 btrfs_set_pending(fs_info, COMMIT); in btrfs_label_store()
811 wake_up_process(fs_info->transaction_kthread); in btrfs_label_store()
820 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_nodesize_show() local
822 return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize); in btrfs_nodesize_show()
830 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_sectorsize_show() local
833 fs_info->super_copy->sectorsize); in btrfs_sectorsize_show()
841 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_clone_alignment_show() local
843 return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->sectorsize); in btrfs_clone_alignment_show()
851 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_show() local
854 quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_show()
862 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_store() local
866 if (!fs_info) in quota_override_store()
879 set_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
881 clear_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
891 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_metadata_uuid_show() local
894 fs_info->fs_devices->metadata_uuid); in btrfs_metadata_uuid_show()
902 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_checksum_show() local
903 u16 csum_type = btrfs_super_csum_type(fs_info->super_copy); in btrfs_checksum_show()
907 crypto_shash_driver_name(fs_info->csum_shash)); in btrfs_checksum_show()
915 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_exclusive_operation_show() local
918 switch (READ_ONCE(fs_info->exclusive_operation)) { in btrfs_exclusive_operation_show()
951 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_generation_show() local
953 return scnprintf(buf, PAGE_SIZE, "%llu\n", fs_info->generation); in btrfs_generation_show()
1012 btrfs_info(fs_devices->fs_info, in btrfs_read_policy_store()
1028 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_bg_reclaim_threshold_show() local
1032 READ_ONCE(fs_info->bg_reclaim_threshold)); in btrfs_bg_reclaim_threshold_show()
1041 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_bg_reclaim_threshold_store() local
1052 WRITE_ONCE(fs_info->bg_reclaim_threshold, thresh); in btrfs_bg_reclaim_threshold_store()
1103 return to_fs_devs(kobj)->fs_info; in to_fs_info()
1117 static int addrm_unknown_feature_attrs(struct btrfs_fs_info *fs_info, bool add) in addrm_unknown_feature_attrs() argument
1128 u64 features = get_features(fs_info, set); in addrm_unknown_feature_attrs()
1145 ret = sysfs_merge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
1150 sysfs_unmerge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
1208 void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_remove_mounted() argument
1210 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_remove_mounted()
1214 if (fs_info->space_info_kobj) { in btrfs_sysfs_remove_mounted()
1215 sysfs_remove_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_remove_mounted()
1216 kobject_del(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1217 kobject_put(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1220 if (fs_info->discard_debug_kobj) { in btrfs_sysfs_remove_mounted()
1221 sysfs_remove_files(fs_info->discard_debug_kobj, in btrfs_sysfs_remove_mounted()
1223 kobject_del(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1224 kobject_put(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1226 if (fs_info->debug_kobj) { in btrfs_sysfs_remove_mounted()
1227 sysfs_remove_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_remove_mounted()
1228 kobject_del(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1229 kobject_put(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1232 addrm_unknown_feature_attrs(fs_info, false); in btrfs_sysfs_remove_mounted()
1235 btrfs_sysfs_remove_fs_devices(fs_info->fs_devices); in btrfs_sysfs_remove_mounted()
1324 struct btrfs_fs_info *fs_info = cache->fs_info; in btrfs_sysfs_add_block_group_type() local
1343 btrfs_warn(cache->fs_info, in btrfs_sysfs_add_block_group_type()
1378 btrfs_warn(fs_info, in btrfs_sysfs_add_block_group_type()
1427 int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_space_info_type() argument
1433 fs_info->space_info_kobj, "%s", in btrfs_sysfs_add_space_info_type()
1451 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_remove_device()
1615 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_add_device()
1616 devinfo_kobj = device->fs_info->fs_devices->devinfo_kobj; in btrfs_sysfs_add_device()
1627 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1639 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1698 btrfs_warn(fs_devices->fs_info, in btrfs_sysfs_update_sprout_fsid()
1709 btrfs_warn(device->fs_devices->fs_info, in btrfs_sysfs_update_devid()
1739 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1748 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1757 int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_mounted() argument
1760 struct btrfs_fs_devices *fs_devs = fs_info->fs_devices; in btrfs_sysfs_add_mounted()
1779 fs_info->debug_kobj = kobject_create_and_add("debug", fsid_kobj); in btrfs_sysfs_add_mounted()
1780 if (!fs_info->debug_kobj) { in btrfs_sysfs_add_mounted()
1785 error = sysfs_create_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_add_mounted()
1790 fs_info->discard_debug_kobj = kobject_create_and_add("discard", in btrfs_sysfs_add_mounted()
1791 fs_info->debug_kobj); in btrfs_sysfs_add_mounted()
1792 if (!fs_info->discard_debug_kobj) { in btrfs_sysfs_add_mounted()
1797 error = sysfs_create_files(fs_info->discard_debug_kobj, in btrfs_sysfs_add_mounted()
1803 error = addrm_unknown_feature_attrs(fs_info, true); in btrfs_sysfs_add_mounted()
1807 error = sysfs_create_link(fsid_kobj, &fs_info->sb->s_bdi->dev->kobj, "bdi"); in btrfs_sysfs_add_mounted()
1811 fs_info->space_info_kobj = kobject_create_and_add("allocation", in btrfs_sysfs_add_mounted()
1813 if (!fs_info->space_info_kobj) { in btrfs_sysfs_add_mounted()
1818 error = sysfs_create_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_add_mounted()
1824 btrfs_sysfs_remove_mounted(fs_info); in btrfs_sysfs_add_mounted()
1838 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1841 return btrfs_show_u64(&qgroup->_member, &fs_info->qgroup_lock, buf); \
1850 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1854 &fs_info->qgroup_lock, buf); \
1898 int btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_one_qgroup() argument
1901 struct kobject *qgroups_kobj = fs_info->qgroups_kobj; in btrfs_sysfs_add_one_qgroup()
1904 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_one_qgroup()
1920 void btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_del_qgroups() argument
1925 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_qgroups()
1929 &fs_info->qgroup_tree, node) in btrfs_sysfs_del_qgroups()
1930 btrfs_sysfs_del_one_qgroup(fs_info, qgroup); in btrfs_sysfs_del_qgroups()
1931 if (fs_info->qgroups_kobj) { in btrfs_sysfs_del_qgroups()
1932 kobject_del(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1933 kobject_put(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1934 fs_info->qgroups_kobj = NULL; in btrfs_sysfs_del_qgroups()
1939 int btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_qgroups() argument
1941 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_add_qgroups()
1946 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_qgroups()
1950 if (fs_info->qgroups_kobj) in btrfs_sysfs_add_qgroups()
1953 fs_info->qgroups_kobj = kobject_create_and_add("qgroups", fsid_kobj); in btrfs_sysfs_add_qgroups()
1954 if (!fs_info->qgroups_kobj) { in btrfs_sysfs_add_qgroups()
1959 &fs_info->qgroup_tree, node) { in btrfs_sysfs_add_qgroups()
1960 ret = btrfs_sysfs_add_one_qgroup(fs_info, qgroup); in btrfs_sysfs_add_qgroups()
1967 btrfs_sysfs_del_qgroups(fs_info); in btrfs_sysfs_add_qgroups()
1971 void btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_del_one_qgroup() argument
1974 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_one_qgroup()
1987 void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, in btrfs_sysfs_feature_update() argument
1995 if (!fs_info) in btrfs_sysfs_feature_update()
2002 features = get_features(fs_info, set); in btrfs_sysfs_feature_update()
2005 fs_devs = fs_info->fs_devices; in btrfs_sysfs_feature_update()