Linux-2.6.12-rc2
[linux-2.6.git] / include / linux / fs_struct.h
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 void exit_fs(struct task_struct *);
22 extern void set_fs_altroot(void);
23 extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *);
24 extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *);
25 extern struct fs_struct *copy_fs_struct(struct fs_struct *);
26 extern void put_fs_struct(struct fs_struct *);
27
28 #endif /* _LINUX_FS_STRUCT_H */