-void umount_tree(struct vfsmount *mnt, int propagate, struct list_head *kill)
-{
- struct vfsmount *p;
-
- for (p = mnt; p; p = next_mnt(p, mnt)) {
- list_del(&p->mnt_hash);
- list_add(&p->mnt_hash, kill);
- // p->mnt_namespace = NULL;
- }
- __umount_list(mnt, propagate, kill);
-}
-
-void umount_unused(struct vfsmount *mnt, struct fs_struct *fs)
-{
- struct vfsmount *p;
- LIST_HEAD(kill);
-
- for (p = mnt; p; p = next_mnt(p, mnt)) {
- if (p == fs->rootmnt || p == fs->pwdmnt)
- continue;
- list_del(&p->mnt_list);
- list_add(&p->mnt_list, &kill);
- p->mnt_namespace = NULL;
- }
- __umount_list(mnt, 0, &kill);
-}
-