include/linux/fs_struct.h
Source file repositories/reference/linux-study-clean/include/linux/fs_struct.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/fs_struct.h- Extension
.h- Size
- 1162 bytes
- Lines
- 51
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- 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/sched.hlinux/path.hlinux/spinlock.hlinux/seqlock.h
Detected Declarations
struct fs_structfunction get_fs_rootfunction get_fs_pwdfunction current_umask
Annotated Snippet
struct fs_struct {
int users;
seqlock_t seq;
int umask;
int in_exec;
struct path root, pwd;
} __randomize_layout;
extern struct kmem_cache *fs_cachep;
extern void exit_fs(struct task_struct *);
extern void set_fs_root(struct fs_struct *, const struct path *);
extern void set_fs_pwd(struct fs_struct *, const struct path *);
extern struct fs_struct *copy_fs_struct(struct fs_struct *);
extern void free_fs_struct(struct fs_struct *);
extern int unshare_fs_struct(void);
static inline void get_fs_root(struct fs_struct *fs, struct path *root)
{
read_seqlock_excl(&fs->seq);
*root = fs->root;
path_get(root);
read_sequnlock_excl(&fs->seq);
}
static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
{
read_seqlock_excl(&fs->seq);
*pwd = fs->pwd;
path_get(pwd);
read_sequnlock_excl(&fs->seq);
}
extern bool current_chrooted(void);
static inline int current_umask(void)
{
return current->fs->umask;
}
#endif /* _LINUX_FS_STRUCT_H */
Annotation
- Immediate include surface: `linux/sched.h`, `linux/path.h`, `linux/spinlock.h`, `linux/seqlock.h`.
- Detected declarations: `struct fs_struct`, `function get_fs_root`, `function get_fs_pwd`, `function current_umask`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.