fs/btrfs/sysfs.h
Source file repositories/reference/linux-study-clean/fs/btrfs/sysfs.h
File Facts
- System
- Linux kernel
- Corpus path
fs/btrfs/sysfs.h- Extension
.h- Size
- 1996 bytes
- Lines
- 58
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/compiler_types.hlinux/kobject.h
Detected Declarations
struct block_devicestruct btrfs_fs_infostruct btrfs_devicestruct btrfs_fs_devicesstruct btrfs_block_groupstruct btrfs_space_infostruct btrfs_qgroupenum btrfs_feature_set
Annotated Snippet
#ifndef BTRFS_SYSFS_H
#define BTRFS_SYSFS_H
#include <linux/types.h>
#include <linux/compiler_types.h>
#include <linux/kobject.h>
struct block_device;
struct btrfs_fs_info;
struct btrfs_device;
struct btrfs_fs_devices;
struct btrfs_block_group;
struct btrfs_space_info;
struct btrfs_qgroup;
enum btrfs_feature_set {
FEAT_COMPAT,
FEAT_COMPAT_RO,
FEAT_INCOMPAT,
FEAT_MAX
};
char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags);
const char *btrfs_feature_set_name(enum btrfs_feature_set set);
int btrfs_sysfs_add_device(struct btrfs_device *device);
void btrfs_sysfs_remove_device(struct btrfs_device *device);
int btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs);
void btrfs_sysfs_remove_fsid(struct btrfs_fs_devices *fs_devs);
void btrfs_sysfs_update_sprout_fsid(struct btrfs_fs_devices *fs_devices);
void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info);
void btrfs_kobject_uevent(struct block_device *bdev, enum kobject_action action);
int __init btrfs_init_sysfs(void);
void __cold btrfs_exit_sysfs(void);
int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info);
void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info);
void btrfs_sysfs_add_block_group_type(struct btrfs_block_group *cache);
int btrfs_sysfs_add_space_info_type(struct btrfs_space_info *space_info);
void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);
void btrfs_sysfs_update_devid(struct btrfs_device *device);
int btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info,
struct btrfs_qgroup *qgroup);
void btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info);
int btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info);
void btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info,
struct btrfs_qgroup *qgroup);
int btrfs_read_policy_to_enum(const char *str, s64 *value);
#ifdef CONFIG_BTRFS_EXPERIMENTAL
int __init btrfs_read_policy_init(void);
char *btrfs_get_mod_read_policy(void);
#endif
#endif
Annotation
- Immediate include surface: `linux/types.h`, `linux/compiler_types.h`, `linux/kobject.h`.
- Detected declarations: `struct block_device`, `struct btrfs_fs_info`, `struct btrfs_device`, `struct btrfs_fs_devices`, `struct btrfs_block_group`, `struct btrfs_space_info`, `struct btrfs_qgroup`, `enum btrfs_feature_set`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.