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()
437 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_bytes_show() local
440 atomic64_read(&fs_info->discard_ctl.discardable_bytes)); in btrfs_discardable_bytes_show()
448 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_extents_show() local
451 atomic_read(&fs_info->discard_ctl.discardable_extents)); in btrfs_discardable_extents_show()
459 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bitmap_bytes_show() local
462 fs_info->discard_ctl.discard_bitmap_bytes); in btrfs_discard_bitmap_bytes_show()
470 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bytes_saved_show() local
473 atomic64_read(&fs_info->discard_ctl.discard_bytes_saved)); in btrfs_discard_bytes_saved_show()
481 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_extent_bytes_show() local
484 fs_info->discard_ctl.discard_extent_bytes); in btrfs_discard_extent_bytes_show()
492 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_show() local
495 READ_ONCE(fs_info->discard_ctl.iops_limit)); in btrfs_discard_iops_limit_show()
502 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_store() local
503 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_iops_limit_store()
523 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_show() local
526 READ_ONCE(fs_info->discard_ctl.kbps_limit)); in btrfs_discard_kbps_limit_show()
533 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_store() local
534 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_kbps_limit_store()
553 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_show() local
556 READ_ONCE(fs_info->discard_ctl.max_discard_size)); in btrfs_discard_max_discard_size_show()
563 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_store() local
564 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_max_discard_size_store()
635 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_size_show() local
636 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_size_show()
644 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_reserved_show() local
645 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_reserved_show()
768 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_show() local
769 char *label = fs_info->super_copy->label; in btrfs_label_show()
772 spin_lock(&fs_info->super_lock); in btrfs_label_show()
774 spin_unlock(&fs_info->super_lock); in btrfs_label_show()
783 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_store() local
786 if (!fs_info) in btrfs_label_store()
789 if (sb_rdonly(fs_info->sb)) in btrfs_label_store()
801 spin_lock(&fs_info->super_lock); in btrfs_label_store()
802 memset(fs_info->super_copy->label, 0, BTRFS_LABEL_SIZE); in btrfs_label_store()
803 memcpy(fs_info->super_copy->label, buf, p_len); in btrfs_label_store()
804 spin_unlock(&fs_info->super_lock); in btrfs_label_store()
809 btrfs_set_pending(fs_info, COMMIT); in btrfs_label_store()
810 wake_up_process(fs_info->transaction_kthread); in btrfs_label_store()
819 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_nodesize_show() local
821 return sysfs_emit(buf, "%u\n", fs_info->super_copy->nodesize); in btrfs_nodesize_show()
829 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_sectorsize_show() local
831 return sysfs_emit(buf, "%u\n", fs_info->super_copy->sectorsize); in btrfs_sectorsize_show()
839 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_clone_alignment_show() local
841 return sysfs_emit(buf, "%u\n", fs_info->super_copy->sectorsize); in btrfs_clone_alignment_show()
849 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_show() local
852 quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_show()
860 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_store() local
864 if (!fs_info) in quota_override_store()
877 set_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
879 clear_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
889 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_metadata_uuid_show() local
891 return sysfs_emit(buf, "%pU\n", fs_info->fs_devices->metadata_uuid); in btrfs_metadata_uuid_show()
899 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_checksum_show() local
900 u16 csum_type = btrfs_super_csum_type(fs_info->super_copy); in btrfs_checksum_show()
904 crypto_shash_driver_name(fs_info->csum_shash)); in btrfs_checksum_show()
912 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_exclusive_operation_show() local
915 switch (READ_ONCE(fs_info->exclusive_operation)) { in btrfs_exclusive_operation_show()
948 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_generation_show() local
950 return sysfs_emit(buf, "%llu\n", fs_info->generation); in btrfs_generation_show()
1009 btrfs_info(fs_devices->fs_info, in btrfs_read_policy_store()
1025 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_bg_reclaim_threshold_show() local
1028 ret = sysfs_emit(buf, "%d\n", READ_ONCE(fs_info->bg_reclaim_threshold)); in btrfs_bg_reclaim_threshold_show()
1037 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_bg_reclaim_threshold_store() local
1048 WRITE_ONCE(fs_info->bg_reclaim_threshold, thresh); in btrfs_bg_reclaim_threshold_store()
1099 return to_fs_devs(kobj)->fs_info; in to_fs_info()
1113 static int addrm_unknown_feature_attrs(struct btrfs_fs_info *fs_info, bool add) in addrm_unknown_feature_attrs() argument
1124 u64 features = get_features(fs_info, set); in addrm_unknown_feature_attrs()
1141 ret = sysfs_merge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
1146 sysfs_unmerge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
1204 void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_remove_mounted() argument
1206 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_remove_mounted()
1210 if (fs_info->space_info_kobj) { in btrfs_sysfs_remove_mounted()
1211 sysfs_remove_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_remove_mounted()
1212 kobject_del(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1213 kobject_put(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1216 if (fs_info->discard_debug_kobj) { in btrfs_sysfs_remove_mounted()
1217 sysfs_remove_files(fs_info->discard_debug_kobj, in btrfs_sysfs_remove_mounted()
1219 kobject_del(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1220 kobject_put(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1222 if (fs_info->debug_kobj) { in btrfs_sysfs_remove_mounted()
1223 sysfs_remove_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_remove_mounted()
1224 kobject_del(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1225 kobject_put(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1228 addrm_unknown_feature_attrs(fs_info, false); in btrfs_sysfs_remove_mounted()
1231 btrfs_sysfs_remove_fs_devices(fs_info->fs_devices); in btrfs_sysfs_remove_mounted()
1320 struct btrfs_fs_info *fs_info = cache->fs_info; in btrfs_sysfs_add_block_group_type() local
1339 btrfs_warn(cache->fs_info, in btrfs_sysfs_add_block_group_type()
1374 btrfs_warn(fs_info, in btrfs_sysfs_add_block_group_type()
1423 int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_space_info_type() argument
1429 fs_info->space_info_kobj, "%s", in btrfs_sysfs_add_space_info_type()
1447 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_remove_device()
1610 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_add_device()
1611 devinfo_kobj = device->fs_info->fs_devices->devinfo_kobj; in btrfs_sysfs_add_device()
1622 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1634 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1693 btrfs_warn(fs_devices->fs_info, in btrfs_sysfs_update_sprout_fsid()
1704 btrfs_warn(device->fs_devices->fs_info, in btrfs_sysfs_update_devid()
1734 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1743 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1752 int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_mounted() argument
1755 struct btrfs_fs_devices *fs_devs = fs_info->fs_devices; in btrfs_sysfs_add_mounted()
1774 fs_info->debug_kobj = kobject_create_and_add("debug", fsid_kobj); in btrfs_sysfs_add_mounted()
1775 if (!fs_info->debug_kobj) { in btrfs_sysfs_add_mounted()
1780 error = sysfs_create_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_add_mounted()
1785 fs_info->discard_debug_kobj = kobject_create_and_add("discard", in btrfs_sysfs_add_mounted()
1786 fs_info->debug_kobj); in btrfs_sysfs_add_mounted()
1787 if (!fs_info->discard_debug_kobj) { in btrfs_sysfs_add_mounted()
1792 error = sysfs_create_files(fs_info->discard_debug_kobj, in btrfs_sysfs_add_mounted()
1798 error = addrm_unknown_feature_attrs(fs_info, true); in btrfs_sysfs_add_mounted()
1802 error = sysfs_create_link(fsid_kobj, &fs_info->sb->s_bdi->dev->kobj, "bdi"); in btrfs_sysfs_add_mounted()
1806 fs_info->space_info_kobj = kobject_create_and_add("allocation", in btrfs_sysfs_add_mounted()
1808 if (!fs_info->space_info_kobj) { in btrfs_sysfs_add_mounted()
1813 error = sysfs_create_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_add_mounted()
1819 btrfs_sysfs_remove_mounted(fs_info); in btrfs_sysfs_add_mounted()
1833 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1836 return btrfs_show_u64(&qgroup->_member, &fs_info->qgroup_lock, buf); \
1845 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1849 &fs_info->qgroup_lock, buf); \
1893 int btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_one_qgroup() argument
1896 struct kobject *qgroups_kobj = fs_info->qgroups_kobj; in btrfs_sysfs_add_one_qgroup()
1899 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_one_qgroup()
1915 void btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_del_qgroups() argument
1920 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_qgroups()
1924 &fs_info->qgroup_tree, node) in btrfs_sysfs_del_qgroups()
1925 btrfs_sysfs_del_one_qgroup(fs_info, qgroup); in btrfs_sysfs_del_qgroups()
1926 if (fs_info->qgroups_kobj) { in btrfs_sysfs_del_qgroups()
1927 kobject_del(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1928 kobject_put(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1929 fs_info->qgroups_kobj = NULL; in btrfs_sysfs_del_qgroups()
1934 int btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_qgroups() argument
1936 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_add_qgroups()
1941 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_qgroups()
1945 if (fs_info->qgroups_kobj) in btrfs_sysfs_add_qgroups()
1948 fs_info->qgroups_kobj = kobject_create_and_add("qgroups", fsid_kobj); in btrfs_sysfs_add_qgroups()
1949 if (!fs_info->qgroups_kobj) { in btrfs_sysfs_add_qgroups()
1954 &fs_info->qgroup_tree, node) { in btrfs_sysfs_add_qgroups()
1955 ret = btrfs_sysfs_add_one_qgroup(fs_info, qgroup); in btrfs_sysfs_add_qgroups()
1962 btrfs_sysfs_del_qgroups(fs_info); in btrfs_sysfs_add_qgroups()
1966 void btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_del_one_qgroup() argument
1969 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_one_qgroup()
1982 void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, in btrfs_sysfs_feature_update() argument
1990 if (!fs_info) in btrfs_sysfs_feature_update()
1997 features = get_features(fs_info, set); in btrfs_sysfs_feature_update()
2000 fs_devs = fs_info->fs_devices; in btrfs_sysfs_feature_update()