2011-11-23 19:26:23 -05:00
# include <linux/mount.h>
2011-11-24 22:53:09 -05:00
struct mnt_pcp {
int mnt_count ;
int mnt_writers ;
} ;
2011-11-23 12:14:10 -05:00
struct mount {
2011-11-24 21:01:32 -05:00
struct list_head mnt_hash ;
2011-11-24 22:19:58 -05:00
struct mount * mnt_parent ;
2011-11-24 22:25:07 -05:00
struct dentry * mnt_mountpoint ;
2011-11-23 12:14:10 -05:00
struct vfsmount mnt ;
2011-11-24 22:53:09 -05:00
# ifdef CONFIG_SMP
struct mnt_pcp __percpu * mnt_pcp ;
atomic_t mnt_longterm ; /* how many of the refs are longterm */
# else
int mnt_count ;
int mnt_writers ;
# endif
2011-11-24 23:24:33 -05:00
struct list_head mnt_mounts ; /* list of children, anchored here */
struct list_head mnt_child ; /* and going through their mnt_child */
2011-11-25 02:25:17 -05:00
const char * mnt_devname ; /* Name of device e.g. /dev/dsk/hda1 */
2011-11-25 02:19:55 -05:00
struct list_head mnt_list ;
2011-11-25 00:22:05 -05:00
struct list_head mnt_expire ; /* link in fs-specific expiry list */
struct list_head mnt_share ; /* circular list of shared mounts */
struct list_head mnt_slave_list ; /* list of slave mounts */
struct list_head mnt_slave ; /* slave list entry */
2011-11-25 00:10:28 -05:00
struct mount * mnt_master ; /* slave is on master->mnt_slave_list */
2011-11-25 00:46:35 -05:00
struct mnt_namespace * mnt_ns ; /* containing namespace */
2011-11-25 02:35:16 -05:00
# ifdef CONFIG_FSNOTIFY
struct hlist_head mnt_fsnotify_marks ;
__u32 mnt_fsnotify_mask ;
# endif
2011-11-25 00:50:41 -05:00
int mnt_id ; /* mount identifier */
int mnt_group_id ; /* peer group identifier */
2011-11-25 00:57:42 -05:00
int mnt_expiry_mark ; /* true if marked for expiry */
int mnt_pinned ;
int mnt_ghosts ;
2011-11-23 12:14:10 -05:00
} ;
static inline struct mount * real_mount ( struct vfsmount * mnt )
{
return container_of ( mnt , struct mount , mnt ) ;
}
2011-11-24 21:47:05 -05:00
static inline int mnt_has_parent ( struct mount * mnt )
2011-11-23 19:26:23 -05:00
{
2011-11-24 22:19:58 -05:00
return mnt ! = mnt - > mnt_parent ;
2011-11-23 19:26:23 -05:00
}
2011-11-24 18:22:03 -05:00
extern struct mount * __lookup_mnt ( struct vfsmount * , struct dentry * , int ) ;