diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 17:34:17 +0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 17:34:17 +0400 |
commit | 5528f911b4c43a5de5da34bcbd7e3f2a62503617 (patch) | |
tree | 2c888b1dc0b3743855d795a1a02730637d6ba0aa /include/linux | |
parent | 1f5ce9e93aa96a867f195ed45f6f77935175f12e (diff) | |
download | linux-5528f911b4c43a5de5da34bcbd7e3f2a62503617.tar.xz |
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 @@ #define MNT_NOATIME 0x08 #define MNT_NODIRATIME 0x10 +#define MNT_SHRINKABLE 0x100 + #define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */ #define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */ #define MNT_PNODE_MASK 0x3000 /* propogation flag mask */ @@ -84,6 +86,7 @@ extern int do_add_mount(struct vfsmount *newmnt, struct nameidata *nd, int mnt_flags, struct list_head *fslist); extern void mark_mounts_for_expiry(struct list_head *mounts); +extern void shrink_submounts(struct vfsmount *mountpoint, struct list_head *mounts); extern spinlock_t vfsmount_lock; extern dev_t name_to_dev_t(char *name); |