Lines Matching refs:child
228 struct mount *child; in propagate_one() local
265 child = copy_tree(last_source, last_source->mnt.mnt_root, type); in propagate_one()
266 if (IS_ERR(child)) in propagate_one()
267 return PTR_ERR(child); in propagate_one()
268 child->mnt.mnt_flags &= ~MNT_LOCKED; in propagate_one()
269 mnt_set_mountpoint(m, mp, child); in propagate_one()
271 last_source = child; in propagate_one()
277 hlist_add_head(&child->mnt_hash, list); in propagate_one()
278 return count_mounts(m->mnt_ns, child); in propagate_one()
346 struct mount *child; in find_topper() local
351 child = list_first_entry(&mnt->mnt_mounts, struct mount, mnt_child); in find_topper()
352 if (child->mnt_mountpoint != mnt->mnt.mnt_root) in find_topper()
355 return child; in find_topper()
378 struct mount *m, *child, *topper; in propagate_mount_busy() local
395 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_busy()
396 if (!child) in propagate_mount_busy()
402 topper = find_topper(child); in propagate_mount_busy()
405 else if (!list_empty(&child->mnt_mounts)) in propagate_mount_busy()
408 if (do_refcount_check(child, count)) in propagate_mount_busy()
422 struct mount *m, *child; in propagate_mount_unlock() local
428 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_unlock()
429 if (child) in propagate_mount_unlock()
430 child->mnt.mnt_flags &= ~MNT_LOCKED; in propagate_mount_unlock()
452 struct mount *child; in __propagate_umount() local
464 list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) { in __propagate_umount()
465 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in __propagate_umount()
467 if (!list_empty(&child->mnt_umounting) && IS_MNT_MARKED(child)) in __propagate_umount()
491 struct mount *mnt, *child, *tmp; in umount_list() local
493 list_for_each_entry_safe(child, tmp, &mnt->mnt_mounts, mnt_child) { in umount_list()
495 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in umount_list()
496 list_move_tail(&child->mnt_umounting, to_restore); in umount_list()
498 umount_one(child, to_umount); in umount_list()
566 struct mount *child = __lookup_mnt(&m->mnt, in propagate_umount() local
568 if (!child) in propagate_umount()
571 if (!list_empty(&child->mnt_umounting)) { in propagate_umount()
581 } else if (child->mnt.mnt_flags & MNT_UMOUNT) { in propagate_umount()
588 list_add_tail(&child->mnt_umounting, &visited); in propagate_umount()
593 while (__propagate_umount(child, in propagate_umount()
596 child = child->mnt_parent; in propagate_umount()
597 if (list_empty(&child->mnt_umounting)) in propagate_umount()