Lines Matching refs:fs_info
23 static u64 get_features(struct btrfs_fs_info *fs_info, in get_features() argument
26 struct btrfs_super_block *disk_super = fs_info->super_copy; in get_features()
35 static void set_features(struct btrfs_fs_info *fs_info, in set_features() argument
38 struct btrfs_super_block *disk_super = fs_info->super_copy; in set_features()
82 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_attr_show() local
84 if (fs_info) { in btrfs_feature_attr_show()
85 u64 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_show()
98 struct btrfs_fs_info *fs_info; in btrfs_feature_attr_store() local
104 fs_info = to_fs_info(kobj); in btrfs_feature_attr_store()
105 if (!fs_info) in btrfs_feature_attr_store()
108 if (sb_rdonly(fs_info->sb)) in btrfs_feature_attr_store()
126 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
135 btrfs_info(fs_info, in btrfs_feature_attr_store()
141 btrfs_info(fs_info, "%s %s feature flag", in btrfs_feature_attr_store()
144 spin_lock(&fs_info->super_lock); in btrfs_feature_attr_store()
145 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
150 set_features(fs_info, fa->feature_set, features); in btrfs_feature_attr_store()
151 spin_unlock(&fs_info->super_lock); in btrfs_feature_attr_store()
156 btrfs_set_pending(fs_info, COMMIT); in btrfs_feature_attr_store()
157 wake_up_process(fs_info->transaction_kthread); in btrfs_feature_attr_store()
165 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_visible() local
168 if (fs_info) { in btrfs_feature_visible()
173 features = get_features(fs_info, fa->feature_set); in btrfs_feature_visible()
261 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_size_show() local
262 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_size_show()
270 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_reserved_show() local
271 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_reserved_show()
388 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_show() local
389 char *label = fs_info->super_copy->label; in btrfs_label_show()
392 spin_lock(&fs_info->super_lock); in btrfs_label_show()
394 spin_unlock(&fs_info->super_lock); in btrfs_label_show()
403 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_store() local
406 if (!fs_info) in btrfs_label_store()
409 if (sb_rdonly(fs_info->sb)) in btrfs_label_store()
421 spin_lock(&fs_info->super_lock); in btrfs_label_store()
422 memset(fs_info->super_copy->label, 0, BTRFS_LABEL_SIZE); in btrfs_label_store()
423 memcpy(fs_info->super_copy->label, buf, p_len); in btrfs_label_store()
424 spin_unlock(&fs_info->super_lock); in btrfs_label_store()
429 btrfs_set_pending(fs_info, COMMIT); in btrfs_label_store()
430 wake_up_process(fs_info->transaction_kthread); in btrfs_label_store()
439 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_nodesize_show() local
441 return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize); in btrfs_nodesize_show()
449 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_sectorsize_show() local
452 fs_info->super_copy->sectorsize); in btrfs_sectorsize_show()
460 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_clone_alignment_show() local
463 fs_info->super_copy->sectorsize); in btrfs_clone_alignment_show()
471 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_show() local
474 quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_show()
482 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_store() local
486 if (!fs_info) in quota_override_store()
499 set_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
501 clear_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
541 return to_fs_devs(kobj)->fs_info; in to_fs_info()
555 static int addrm_unknown_feature_attrs(struct btrfs_fs_info *fs_info, bool add) in addrm_unknown_feature_attrs() argument
566 u64 features = get_features(fs_info, set); in addrm_unknown_feature_attrs()
583 ret = sysfs_merge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
588 sysfs_unmerge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
626 void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_remove_mounted() argument
628 btrfs_reset_fs_info_ptr(fs_info); in btrfs_sysfs_remove_mounted()
630 if (fs_info->space_info_kobj) { in btrfs_sysfs_remove_mounted()
631 sysfs_remove_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_remove_mounted()
632 kobject_del(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
633 kobject_put(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
635 addrm_unknown_feature_attrs(fs_info, false); in btrfs_sysfs_remove_mounted()
636 sysfs_remove_group(&fs_info->fs_devices->fsid_kobj, &btrfs_feature_attr_group); in btrfs_sysfs_remove_mounted()
637 sysfs_remove_files(&fs_info->fs_devices->fsid_kobj, btrfs_attrs); in btrfs_sysfs_remove_mounted()
638 btrfs_sysfs_rm_device_link(fs_info->fs_devices, NULL); in btrfs_sysfs_remove_mounted()
817 int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_mounted() argument
820 struct btrfs_fs_devices *fs_devs = fs_info->fs_devices; in btrfs_sysfs_add_mounted()
823 btrfs_set_fs_info_ptr(fs_info); in btrfs_sysfs_add_mounted()
840 error = addrm_unknown_feature_attrs(fs_info, true); in btrfs_sysfs_add_mounted()
844 fs_info->space_info_kobj = kobject_create_and_add("allocation", in btrfs_sysfs_add_mounted()
846 if (!fs_info->space_info_kobj) { in btrfs_sysfs_add_mounted()
851 error = sysfs_create_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_add_mounted()
857 btrfs_sysfs_remove_mounted(fs_info); in btrfs_sysfs_add_mounted()
866 void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, in btrfs_sysfs_feature_update() argument
874 if (!fs_info) in btrfs_sysfs_feature_update()
877 features = get_features(fs_info, set); in btrfs_sysfs_feature_update()
880 fs_devs = fs_info->fs_devices; in btrfs_sysfs_feature_update()