Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
fs
mount.h
Go to the documentation of this file.
1
#include <
linux/mount.h
>
2
#include <
linux/seq_file.h
>
3
#include <linux/poll.h>
4
5
struct
mnt_namespace
{
6
atomic_t
count
;
7
struct
mount
*
root
;
8
struct
list_head
list
;
9
wait_queue_head_t
poll
;
10
int
event
;
11
};
12
13
struct
mnt_pcp
{
14
int
mnt_count
;
15
int
mnt_writers
;
16
};
17
18
struct
mount
{
19
struct
list_head
mnt_hash
;
20
struct
mount
*
mnt_parent
;
21
struct
dentry
*
mnt_mountpoint
;
22
struct
vfsmount
mnt
;
23
#ifdef CONFIG_SMP
24
struct
mnt_pcp
__percpu
*
mnt_pcp
;
25
#else
26
int
mnt_count
;
27
int
mnt_writers
;
28
#endif
29
struct
list_head
mnt_mounts
;
/* list of children, anchored here */
30
struct
list_head
mnt_child
;
/* and going through their mnt_child */
31
struct
list_head
mnt_instance
;
/* mount instance on sb->s_mounts */
32
const
char
*
mnt_devname
;
/* Name of device e.g. /dev/dsk/hda1 */
33
struct
list_head
mnt_list
;
34
struct
list_head
mnt_expire
;
/* link in fs-specific expiry list */
35
struct
list_head
mnt_share
;
/* circular list of shared mounts */
36
struct
list_head
mnt_slave_list
;
/* list of slave mounts */
37
struct
list_head
mnt_slave
;
/* slave list entry */
38
struct
mount
*
mnt_master
;
/* slave is on master->mnt_slave_list */
39
struct
mnt_namespace
*
mnt_ns
;
/* containing namespace */
40
#ifdef CONFIG_FSNOTIFY
41
struct
hlist_head
mnt_fsnotify_marks;
42
__u32
mnt_fsnotify_mask;
43
#endif
44
int
mnt_id
;
/* mount identifier */
45
int
mnt_group_id
;
/* peer group identifier */
46
int
mnt_expiry_mark
;
/* true if marked for expiry */
47
int
mnt_pinned
;
48
int
mnt_ghosts
;
49
};
50
51
#define MNT_NS_INTERNAL ERR_PTR(-EINVAL)
/* distinct from any mnt_namespace */
52
53
static
inline
struct
mount
*real_mount(
struct
vfsmount
*
mnt
)
54
{
55
return
container_of
(mnt,
struct
mount
, mnt);
56
}
57
58
static
inline
int
mnt_has_parent(
struct
mount
*
mnt
)
59
{
60
return
mnt != mnt->
mnt_parent
;
61
}
62
63
static
inline
int
is_mounted(
struct
vfsmount
*
mnt
)
64
{
65
/* neither detached nor internal? */
66
return
!IS_ERR_OR_NULL(real_mount(mnt));
67
}
68
69
extern
struct
mount
*
__lookup_mnt
(
struct
vfsmount
*,
struct
dentry
*,
int
);
70
71
static
inline
void
get_mnt_ns(
struct
mnt_namespace
*
ns
)
72
{
73
atomic_inc
(&ns->
count
);
74
}
75
76
struct
proc_mounts
{
77
struct
seq_file
m
;
78
struct
mnt_namespace
*
ns
;
79
struct
path
root
;
80
int
(*
show
)(
struct
seq_file
*,
struct
vfsmount
*);
81
};
82
83
#define proc_mounts(p) (container_of((p), struct proc_mounts, m))
84
85
extern
const
struct
seq_operations
mounts_op
;
Generated on Thu Jan 10 2013 14:48:10 for Linux Kernel by
1.8.2