blob: c623d12a486e6e1deb90a6ab65d4b71e6b81aab3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_FS_STRUCT_H
2#define _LINUX_FS_STRUCT_H
3
4struct dentry;
5struct vfsmount;
6
7struct 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
21extern void exit_fs(struct task_struct *);
22extern void set_fs_altroot(void);
23extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *);
24extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *);
25extern struct fs_struct *copy_fs_struct(struct fs_struct *);
26extern void put_fs_struct(struct fs_struct *);
27
28#endif /* _LINUX_FS_STRUCT_H */