Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next
[deliverable/linux.git] / include / linux / fs_struct.h
... / ...
CommitLineData
1#ifndef _LINUX_FS_STRUCT_H
2#define _LINUX_FS_STRUCT_H
3
4#include <linux/path.h>
5#include <linux/spinlock.h>
6#include <linux/seqlock.h>
7
8struct fs_struct {
9 int users;
10 spinlock_t lock;
11 seqcount_t seq;
12 int umask;
13 int in_exec;
14 struct path root, pwd;
15};
16
17extern struct kmem_cache *fs_cachep;
18
19extern void exit_fs(struct task_struct *);
20extern void set_fs_root(struct fs_struct *, const struct path *);
21extern void set_fs_pwd(struct fs_struct *, const struct path *);
22extern struct fs_struct *copy_fs_struct(struct fs_struct *);
23extern void free_fs_struct(struct fs_struct *);
24extern int unshare_fs_struct(void);
25
26static inline void get_fs_root(struct fs_struct *fs, struct path *root)
27{
28 spin_lock(&fs->lock);
29 *root = fs->root;
30 path_get(root);
31 spin_unlock(&fs->lock);
32}
33
34static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
35{
36 spin_lock(&fs->lock);
37 *pwd = fs->pwd;
38 path_get(pwd);
39 spin_unlock(&fs->lock);
40}
41
42extern bool current_chrooted(void);
43
44#endif /* _LINUX_FS_STRUCT_H */
This page took 0.023826 seconds and 5 git commands to generate.