diff options
author | trasz <trasz@FreeBSD.org> | 2016-01-12 10:09:03 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2016-01-12 10:09:03 +0000 |
commit | a35cfac66cd13b8a8193084a71a760710f87703e (patch) | |
tree | 9323e17144f0c21cec420ec7a5815cc2ff607ff9 /sys/kern/vfs_mount.c | |
parent | 51adb09baa42149bdf1b01ca23587b8743c2292e (diff) | |
download | FreeBSD-src-a35cfac66cd13b8a8193084a71a760710f87703e.zip FreeBSD-src-a35cfac66cd13b8a8193084a71a760710f87703e.tar.gz |
MFC r287107:
Make vfs_unmountall() unmount /dev after /, not before. The only
reason this didn't result in an unclean shutdown is that devfs ignores
MNT_FORCE flag.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3467
Diffstat (limited to 'sys/kern/vfs_mount.c')
-rw-r--r-- | sys/kern/vfs_mount.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 36d03f9..3ca995f 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1359,6 +1359,8 @@ dounmount(struct mount *mp, int flags, struct thread *td) vput(coveredvp); } vfs_event_signal(NULL, VQ_UNMOUNT, 0); + if (mp == rootdevmp) + rootdevmp = NULL; vfs_mount_destroy(mp); return (0); } |