summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_mount.c
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2016-01-12 10:09:03 +0000
committertrasz <trasz@FreeBSD.org>2016-01-12 10:09:03 +0000
commita35cfac66cd13b8a8193084a71a760710f87703e (patch)
tree9323e17144f0c21cec420ec7a5815cc2ff607ff9 /sys/kern/vfs_mount.c
parent51adb09baa42149bdf1b01ca23587b8743c2292e (diff)
downloadFreeBSD-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.c2
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);
}
OpenPOWER on IntegriCloud