blob: 11a36ceddf73a1e8670c1efb81a10cd8c0bf3e67 [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
Christoph Lameteraa362a82006-12-06 20:32:54 -080021extern struct kmem_cache *fs_cachep;
22
Linus Torvalds1da177e2005-04-16 15:20:36 -070023extern void exit_fs(struct task_struct *);
24extern void set_fs_altroot(void);
25extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *);
26extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *);
27extern struct fs_struct *copy_fs_struct(struct fs_struct *);
28extern void put_fs_struct(struct fs_struct *);
29
30#endif /* _LINUX_FS_STRUCT_H */