]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame_incremental - include/linux/fs_struct.h
net/mlx5e: Single bfreg (UAR) for all mlx5e SQs and netdevs
[mirror_ubuntu-bionic-kernel.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 */