xref: /linux-6.15/include/linux/fs_struct.h (revision 40efcb05)
1 #ifndef _LINUX_FS_STRUCT_H
2 #define _LINUX_FS_STRUCT_H
3 
4 struct dentry;
5 struct vfsmount;
6 
7 struct fs_struct {
8 	atomic_t count;
9 	rwlock_t lock;
10 	int umask;
11 	struct dentry * root, * pwd, * altroot;
12 	struct vfsmount * rootmnt, * pwdmnt, * altrootmnt;
13 };
14 
15 #define INIT_FS {				\
16 	.count		= ATOMIC_INIT(1),	\
17 	.lock		= RW_LOCK_UNLOCKED,	\
18 	.umask		= 0022, \
19 }
20 
21 extern struct kmem_cache *fs_cachep;
22 
23 extern void exit_fs(struct task_struct *);
24 extern void set_fs_altroot(void);
25 extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *);
26 extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *);
27 extern struct fs_struct *copy_fs_struct(struct fs_struct *);
28 extern void put_fs_struct(struct fs_struct *);
29 
30 #endif /* _LINUX_FS_STRUCT_H */
31