diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 09:34:17 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 09:34:17 -0400 |
commit | 5528f911b4c43a5de5da34bcbd7e3f2a62503617 (patch) | |
tree | 2c888b1dc0b3743855d795a1a02730637d6ba0aa /include/linux | |
parent | 1f5ce9e93aa96a867f195ed45f6f77935175f12e (diff) |
VFS: Add shrink_submounts()
Allow a submount to be marked as being 'shrinkable' by means of the
vfsmount->mnt_flags, and then add a function 'shrink_submounts()' which
attempts to recursively unmount these submounts.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mount.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mount.h b/include/linux/mount.h index aff68c3660f5..9b4e0071b92e 100644 --- a/include/linux/mount.h +++ b/include/linux/mount.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #define MNT_NOATIME 0x08 | 23 | #define MNT_NOATIME 0x08 |
24 | #define MNT_NODIRATIME 0x10 | 24 | #define MNT_NODIRATIME 0x10 |
25 | 25 | ||
26 | #define MNT_SHRINKABLE 0x100 | ||
27 | |||
26 | #define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */ | 28 | #define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */ |
27 | #define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */ | 29 | #define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */ |
28 | #define MNT_PNODE_MASK 0x3000 /* propogation flag mask */ | 30 | #define MNT_PNODE_MASK 0x3000 /* propogation flag mask */ |
@@ -84,6 +86,7 @@ extern int do_add_mount(struct vfsmount *newmnt, struct nameidata *nd, | |||
84 | int mnt_flags, struct list_head *fslist); | 86 | int mnt_flags, struct list_head *fslist); |
85 | 87 | ||
86 | extern void mark_mounts_for_expiry(struct list_head *mounts); | 88 | extern void mark_mounts_for_expiry(struct list_head *mounts); |
89 | extern void shrink_submounts(struct vfsmount *mountpoint, struct list_head *mounts); | ||
87 | 90 | ||
88 | extern spinlock_t vfsmount_lock; | 91 | extern spinlock_t vfsmount_lock; |
89 | extern dev_t name_to_dev_t(char *name); | 92 | extern dev_t name_to_dev_t(char *name); |