|  | #ifndef _LINUX_FS_STRUCT_H | 
|  | #define _LINUX_FS_STRUCT_H | 
|  |  | 
|  | struct dentry; | 
|  | struct vfsmount; | 
|  |  | 
|  | struct fs_struct { | 
|  | atomic_t count; | 
|  | rwlock_t lock; | 
|  | int umask; | 
|  | struct dentry * root, * pwd, * altroot; | 
|  | struct vfsmount * rootmnt, * pwdmnt, * altrootmnt; | 
|  | }; | 
|  |  | 
|  | #define INIT_FS {				\ | 
|  | .count		= ATOMIC_INIT(1),	\ | 
|  | .lock		= RW_LOCK_UNLOCKED,	\ | 
|  | .umask		= 0022, \ | 
|  | } | 
|  |  | 
|  | extern struct kmem_cache *fs_cachep; | 
|  |  | 
|  | extern void exit_fs(struct task_struct *); | 
|  | extern void set_fs_altroot(void); | 
|  | extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *); | 
|  | extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *); | 
|  | extern struct fs_struct *copy_fs_struct(struct fs_struct *); | 
|  | extern void put_fs_struct(struct fs_struct *); | 
|  |  | 
|  | #endif /* _LINUX_FS_STRUCT_H */ |