Lines Matching refs:m

36 	struct mount *m = mnt;  in get_peer_under_root()  local
40 if (m->mnt_ns == ns && is_path_reachable(m, m->mnt.mnt_root, root)) in get_peer_under_root()
41 return m; in get_peer_under_root()
43 m = next_peer(m); in get_peer_under_root()
44 } while (m != mnt); in get_peer_under_root()
57 struct mount *m; in get_dominating_id() local
59 for (m = mnt->mnt_master; m != NULL; m = m->mnt_master) { in get_dominating_id()
60 struct mount *d = get_peer_under_root(m, mnt->mnt_ns, root); in get_dominating_id()
146 static struct mount *propagation_next(struct mount *m, in propagation_next() argument
150 if (!IS_MNT_NEW(m) && !list_empty(&m->mnt_slave_list)) in propagation_next()
151 return first_slave(m); in propagation_next()
154 struct mount *master = m->mnt_master; in propagation_next()
157 struct mount *next = next_peer(m); in propagation_next()
159 } else if (m->mnt_slave.next != &master->mnt_slave_list) in propagation_next()
160 return next_slave(m); in propagation_next()
163 m = master; in propagation_next()
167 static struct mount *next_group(struct mount *m, struct mount *origin) in next_group() argument
172 if (!IS_MNT_NEW(m) && !list_empty(&m->mnt_slave_list)) in next_group()
173 return first_slave(m); in next_group()
174 next = next_peer(m); in next_group()
175 if (m->mnt_group_id == origin->mnt_group_id) { in next_group()
178 } else if (m->mnt_slave.next != &next->mnt_slave) in next_group()
180 m = next; in next_group()
184 struct mount *master = m->mnt_master; in next_group()
185 if (m->mnt_slave.next != &master->mnt_slave_list) in next_group()
186 return next_slave(m); in next_group()
187 m = next_peer(master); in next_group()
190 if (master->mnt_slave.next == &m->mnt_slave) in next_group()
192 m = master; in next_group()
194 if (m == origin) in next_group()
210 static int propagate_one(struct mount *m) in propagate_one() argument
215 if (IS_MNT_NEW(m)) in propagate_one()
218 if (!is_subdir(mp->m_dentry, m->mnt.mnt_root)) in propagate_one()
220 if (peers(m, last_dest)) { in propagate_one()
225 for (n = m; ; n = p) { in propagate_one()
242 if (IS_MNT_SHARED(m)) in propagate_one()
247 if (m->mnt_ns->user_ns != user_ns) in propagate_one()
253 mnt_set_mountpoint(m, mp, child); in propagate_one()
254 last_dest = m; in propagate_one()
256 if (m->mnt_master != dest_master) { in propagate_one()
258 SET_MNT_MARK(m->mnt_master); in propagate_one()
281 struct mount *m, *n; in propagate_mnt() local
305 for (m = next_group(dest_mnt, dest_mnt); m; in propagate_mnt()
306 m = next_group(m, dest_mnt)) { in propagate_mnt()
308 n = m; in propagate_mnt()
314 } while (n != m); in propagate_mnt()
319 m = n->mnt_parent; in propagate_mnt()
320 if (m->mnt_master != dest_mnt->mnt_master) in propagate_mnt()
321 CLEAR_MNT_MARK(m->mnt_master); in propagate_mnt()
347 struct mount *m, *child; in propagate_mount_busy() local
362 for (m = propagation_next(parent, parent); m; in propagate_mount_busy()
363 m = propagation_next(m, parent)) { in propagate_mount_busy()
364 child = __lookup_mnt_last(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_busy()
380 struct mount *m, *child; in propagate_mount_unlock() local
384 for (m = propagation_next(parent, parent); m; in propagate_mount_unlock()
385 m = propagation_next(m, parent)) { in propagate_mount_unlock()
386 child = __lookup_mnt_last(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_unlock()
398 struct mount *m; in mark_umount_candidates() local
402 for (m = propagation_next(parent, parent); m; in mark_umount_candidates()
403 m = propagation_next(m, parent)) { in mark_umount_candidates()
404 struct mount *child = __lookup_mnt_last(&m->mnt, in mark_umount_candidates()
406 if (child && (!IS_MNT_LOCKED(child) || IS_MNT_MARKED(m))) { in mark_umount_candidates()
419 struct mount *m; in __propagate_umount() local
423 for (m = propagation_next(parent, parent); m; in __propagate_umount()
424 m = propagation_next(m, parent)) { in __propagate_umount()
426 struct mount *child = __lookup_mnt_last(&m->mnt, in __propagate_umount()