Lines Matching refs:child
226 struct mount *child; in propagate_one() local
264 child = copy_tree(last_source, last_source->mnt.mnt_root, type); in propagate_one()
265 if (IS_ERR(child)) in propagate_one()
266 return PTR_ERR(child); in propagate_one()
268 mnt_set_mountpoint(m, dest_mp, child); in propagate_one()
273 last_source = child; in propagate_one()
274 hlist_add_head(&child->mnt_hash, list); in propagate_one()
275 return count_mounts(m->mnt_ns, child); in propagate_one()
341 struct mount *child; in find_topper() local
346 child = list_first_entry(&mnt->mnt_mounts, struct mount, mnt_child); in find_topper()
347 if (child->mnt_mountpoint != mnt->mnt.mnt_root) in find_topper()
350 return child; in find_topper()
410 struct mount *m, *child, *topper; in propagate_mount_busy() local
427 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_busy()
428 if (!child) in propagate_mount_busy()
434 topper = find_topper(child); in propagate_mount_busy()
437 else if (!list_empty(&child->mnt_mounts)) in propagate_mount_busy()
440 if (do_refcount_check(child, count)) in propagate_mount_busy()
454 struct mount *m, *child; in propagate_mount_unlock() local
460 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_unlock()
461 if (child) in propagate_mount_unlock()
462 child->mnt.mnt_flags &= ~MNT_LOCKED; in propagate_mount_unlock()
484 struct mount *child; in __propagate_umount() local
496 list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) { in __propagate_umount()
497 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in __propagate_umount()
499 if (!list_empty(&child->mnt_umounting) && IS_MNT_MARKED(child)) in __propagate_umount()
523 struct mount *mnt, *child, *tmp; in umount_list() local
525 list_for_each_entry_safe(child, tmp, &mnt->mnt_mounts, mnt_child) { in umount_list()
527 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in umount_list()
528 list_move_tail(&child->mnt_umounting, to_restore); in umount_list()
530 umount_one(child, to_umount); in umount_list()
600 struct mount *child = __lookup_mnt(&m->mnt, in propagate_umount() local
602 if (!child) in propagate_umount()
605 if (!list_empty(&child->mnt_umounting)) { in propagate_umount()
615 } else if (child->mnt.mnt_flags & MNT_UMOUNT) { in propagate_umount()
622 list_add_tail(&child->mnt_umounting, &visited); in propagate_umount()
627 while (__propagate_umount(child, in propagate_umount()
630 child = child->mnt_parent; in propagate_umount()
631 if (list_empty(&child->mnt_umounting)) in propagate_umount()