Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6] / 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 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 */