Lines Matching refs:fs_info

92 static u64 get_features(struct btrfs_fs_info *fs_info,  in get_features()  argument
95 struct btrfs_super_block *disk_super = fs_info->super_copy; in get_features()
104 static void set_features(struct btrfs_fs_info *fs_info, in set_features() argument
107 struct btrfs_super_block *disk_super = fs_info->super_copy; in set_features()
151 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_attr_show() local
153 if (fs_info) { in btrfs_feature_attr_show()
154 u64 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_show()
167 struct btrfs_fs_info *fs_info; in btrfs_feature_attr_store() local
173 fs_info = to_fs_info(kobj); in btrfs_feature_attr_store()
174 if (!fs_info) in btrfs_feature_attr_store()
177 if (sb_rdonly(fs_info->sb)) in btrfs_feature_attr_store()
195 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
204 btrfs_info(fs_info, in btrfs_feature_attr_store()
210 btrfs_info(fs_info, "%s %s feature flag", in btrfs_feature_attr_store()
213 spin_lock(&fs_info->super_lock); in btrfs_feature_attr_store()
214 features = get_features(fs_info, fa->feature_set); in btrfs_feature_attr_store()
219 set_features(fs_info, fa->feature_set, features); in btrfs_feature_attr_store()
220 spin_unlock(&fs_info->super_lock); in btrfs_feature_attr_store()
225 btrfs_set_pending(fs_info, COMMIT); in btrfs_feature_attr_store()
226 wake_up_process(fs_info->transaction_kthread); in btrfs_feature_attr_store()
234 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_feature_visible() local
237 if (fs_info) { in btrfs_feature_visible()
242 features = get_features(fs_info, fa->feature_set); in btrfs_feature_visible()
361 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_bytes_show() local
364 atomic64_read(&fs_info->discard_ctl.discardable_bytes)); in btrfs_discardable_bytes_show()
372 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discardable_extents_show() local
375 atomic_read(&fs_info->discard_ctl.discardable_extents)); in btrfs_discardable_extents_show()
383 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bitmap_bytes_show() local
386 fs_info->discard_ctl.discard_bitmap_bytes); in btrfs_discard_bitmap_bytes_show()
394 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_bytes_saved_show() local
397 atomic64_read(&fs_info->discard_ctl.discard_bytes_saved)); in btrfs_discard_bytes_saved_show()
405 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_extent_bytes_show() local
408 fs_info->discard_ctl.discard_extent_bytes); in btrfs_discard_extent_bytes_show()
416 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_show() local
419 READ_ONCE(fs_info->discard_ctl.iops_limit)); in btrfs_discard_iops_limit_show()
426 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_iops_limit_store() local
427 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_iops_limit_store()
446 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_show() local
449 READ_ONCE(fs_info->discard_ctl.kbps_limit)); in btrfs_discard_kbps_limit_show()
456 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_kbps_limit_store() local
457 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_kbps_limit_store()
476 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_show() local
479 READ_ONCE(fs_info->discard_ctl.max_discard_size)); in btrfs_discard_max_discard_size_show()
486 struct btrfs_fs_info *fs_info = discard_to_fs_info(kobj); in btrfs_discard_max_discard_size_store() local
487 struct btrfs_discard_ctl *discard_ctl = &fs_info->discard_ctl; in btrfs_discard_max_discard_size_store()
549 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_size_show() local
550 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_size_show()
558 struct btrfs_fs_info *fs_info = to_fs_info(kobj->parent); in global_rsv_reserved_show() local
559 struct btrfs_block_rsv *block_rsv = &fs_info->global_block_rsv; in global_rsv_reserved_show()
678 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_show() local
679 char *label = fs_info->super_copy->label; in btrfs_label_show()
682 spin_lock(&fs_info->super_lock); in btrfs_label_show()
684 spin_unlock(&fs_info->super_lock); in btrfs_label_show()
693 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_label_store() local
696 if (!fs_info) in btrfs_label_store()
699 if (sb_rdonly(fs_info->sb)) in btrfs_label_store()
711 spin_lock(&fs_info->super_lock); in btrfs_label_store()
712 memset(fs_info->super_copy->label, 0, BTRFS_LABEL_SIZE); in btrfs_label_store()
713 memcpy(fs_info->super_copy->label, buf, p_len); in btrfs_label_store()
714 spin_unlock(&fs_info->super_lock); in btrfs_label_store()
719 btrfs_set_pending(fs_info, COMMIT); in btrfs_label_store()
720 wake_up_process(fs_info->transaction_kthread); in btrfs_label_store()
729 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_nodesize_show() local
731 return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize); in btrfs_nodesize_show()
739 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_sectorsize_show() local
742 fs_info->super_copy->sectorsize); in btrfs_sectorsize_show()
750 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_clone_alignment_show() local
752 return scnprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->sectorsize); in btrfs_clone_alignment_show()
760 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_show() local
763 quota_override = test_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_show()
771 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in quota_override_store() local
775 if (!fs_info) in quota_override_store()
788 set_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
790 clear_bit(BTRFS_FS_QUOTA_OVERRIDE, &fs_info->flags); in quota_override_store()
800 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_metadata_uuid_show() local
803 fs_info->fs_devices->metadata_uuid); in btrfs_metadata_uuid_show()
811 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_checksum_show() local
812 u16 csum_type = btrfs_super_csum_type(fs_info->super_copy); in btrfs_checksum_show()
816 crypto_shash_driver_name(fs_info->csum_shash)); in btrfs_checksum_show()
824 struct btrfs_fs_info *fs_info = to_fs_info(kobj); in btrfs_exclusive_operation_show() local
827 switch (READ_ONCE(fs_info->exclusive_operation)) { in btrfs_exclusive_operation_show()
893 return to_fs_devs(kobj)->fs_info; in to_fs_info()
907 static int addrm_unknown_feature_attrs(struct btrfs_fs_info *fs_info, bool add) in addrm_unknown_feature_attrs() argument
918 u64 features = get_features(fs_info, set); in addrm_unknown_feature_attrs()
935 ret = sysfs_merge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
940 sysfs_unmerge_group(&fs_info->fs_devices->fsid_kobj, in addrm_unknown_feature_attrs()
998 void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_remove_mounted() argument
1000 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_remove_mounted()
1004 if (fs_info->space_info_kobj) { in btrfs_sysfs_remove_mounted()
1005 sysfs_remove_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_remove_mounted()
1006 kobject_del(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1007 kobject_put(fs_info->space_info_kobj); in btrfs_sysfs_remove_mounted()
1010 if (fs_info->discard_debug_kobj) { in btrfs_sysfs_remove_mounted()
1011 sysfs_remove_files(fs_info->discard_debug_kobj, in btrfs_sysfs_remove_mounted()
1013 kobject_del(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1014 kobject_put(fs_info->discard_debug_kobj); in btrfs_sysfs_remove_mounted()
1016 if (fs_info->debug_kobj) { in btrfs_sysfs_remove_mounted()
1017 sysfs_remove_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_remove_mounted()
1018 kobject_del(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1019 kobject_put(fs_info->debug_kobj); in btrfs_sysfs_remove_mounted()
1022 addrm_unknown_feature_attrs(fs_info, false); in btrfs_sysfs_remove_mounted()
1025 btrfs_sysfs_remove_fs_devices(fs_info->fs_devices); in btrfs_sysfs_remove_mounted()
1114 struct btrfs_fs_info *fs_info = cache->fs_info; in btrfs_sysfs_add_block_group_type() local
1133 btrfs_warn(cache->fs_info, in btrfs_sysfs_add_block_group_type()
1168 btrfs_warn(fs_info, in btrfs_sysfs_add_block_group_type()
1217 int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_space_info_type() argument
1223 fs_info->space_info_kobj, "%s", in btrfs_sysfs_add_space_info_type()
1243 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_remove_device()
1348 devices_kobj = device->fs_info->fs_devices->devices_kobj; in btrfs_sysfs_add_device()
1349 devinfo_kobj = device->fs_info->fs_devices->devinfo_kobj; in btrfs_sysfs_add_device()
1364 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1376 btrfs_warn(device->fs_info, in btrfs_sysfs_add_device()
1435 btrfs_warn(fs_devices->fs_info, in btrfs_sysfs_update_sprout_fsid()
1446 btrfs_warn(device->fs_devices->fs_info, in btrfs_sysfs_update_devid()
1476 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1485 btrfs_err(fs_devs->fs_info, in btrfs_sysfs_add_fsid()
1494 int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_mounted() argument
1497 struct btrfs_fs_devices *fs_devs = fs_info->fs_devices; in btrfs_sysfs_add_mounted()
1516 fs_info->debug_kobj = kobject_create_and_add("debug", fsid_kobj); in btrfs_sysfs_add_mounted()
1517 if (!fs_info->debug_kobj) { in btrfs_sysfs_add_mounted()
1522 error = sysfs_create_files(fs_info->debug_kobj, btrfs_debug_mount_attrs); in btrfs_sysfs_add_mounted()
1527 fs_info->discard_debug_kobj = kobject_create_and_add("discard", in btrfs_sysfs_add_mounted()
1528 fs_info->debug_kobj); in btrfs_sysfs_add_mounted()
1529 if (!fs_info->discard_debug_kobj) { in btrfs_sysfs_add_mounted()
1534 error = sysfs_create_files(fs_info->discard_debug_kobj, in btrfs_sysfs_add_mounted()
1540 error = addrm_unknown_feature_attrs(fs_info, true); in btrfs_sysfs_add_mounted()
1544 error = sysfs_create_link(fsid_kobj, &fs_info->sb->s_bdi->dev->kobj, "bdi"); in btrfs_sysfs_add_mounted()
1548 fs_info->space_info_kobj = kobject_create_and_add("allocation", in btrfs_sysfs_add_mounted()
1550 if (!fs_info->space_info_kobj) { in btrfs_sysfs_add_mounted()
1555 error = sysfs_create_files(fs_info->space_info_kobj, allocation_attrs); in btrfs_sysfs_add_mounted()
1561 btrfs_sysfs_remove_mounted(fs_info); in btrfs_sysfs_add_mounted()
1575 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1578 return btrfs_show_u64(&qgroup->_member, &fs_info->qgroup_lock, buf); \
1587 struct btrfs_fs_info *fs_info = qgroup_kobj_to_fs_info(qgroup_kobj); \
1591 &fs_info->qgroup_lock, buf); \
1630 int btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_add_one_qgroup() argument
1633 struct kobject *qgroups_kobj = fs_info->qgroups_kobj; in btrfs_sysfs_add_one_qgroup()
1636 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_one_qgroup()
1652 void btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_del_qgroups() argument
1657 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_qgroups()
1661 &fs_info->qgroup_tree, node) in btrfs_sysfs_del_qgroups()
1662 btrfs_sysfs_del_one_qgroup(fs_info, qgroup); in btrfs_sysfs_del_qgroups()
1663 if (fs_info->qgroups_kobj) { in btrfs_sysfs_del_qgroups()
1664 kobject_del(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1665 kobject_put(fs_info->qgroups_kobj); in btrfs_sysfs_del_qgroups()
1666 fs_info->qgroups_kobj = NULL; in btrfs_sysfs_del_qgroups()
1671 int btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info) in btrfs_sysfs_add_qgroups() argument
1673 struct kobject *fsid_kobj = &fs_info->fs_devices->fsid_kobj; in btrfs_sysfs_add_qgroups()
1678 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_add_qgroups()
1682 if (fs_info->qgroups_kobj) in btrfs_sysfs_add_qgroups()
1685 fs_info->qgroups_kobj = kobject_create_and_add("qgroups", fsid_kobj); in btrfs_sysfs_add_qgroups()
1686 if (!fs_info->qgroups_kobj) { in btrfs_sysfs_add_qgroups()
1691 &fs_info->qgroup_tree, node) { in btrfs_sysfs_add_qgroups()
1692 ret = btrfs_sysfs_add_one_qgroup(fs_info, qgroup); in btrfs_sysfs_add_qgroups()
1699 btrfs_sysfs_del_qgroups(fs_info); in btrfs_sysfs_add_qgroups()
1703 void btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info, in btrfs_sysfs_del_one_qgroup() argument
1706 if (test_bit(BTRFS_FS_STATE_DUMMY_FS_INFO, &fs_info->fs_state)) in btrfs_sysfs_del_one_qgroup()
1719 void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, in btrfs_sysfs_feature_update() argument
1727 if (!fs_info) in btrfs_sysfs_feature_update()
1734 features = get_features(fs_info, set); in btrfs_sysfs_feature_update()
1737 fs_devs = fs_info->fs_devices; in btrfs_sysfs_feature_update()