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