aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_bio.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 61fe9a6e2bfd..acd16ecdf3fe 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -1458,9 +1458,16 @@ bufshutdown(int show_busybufs)
printf("Final sync complete\n");
/*
- * Unmount filesystems. Swapoff before unmount,
- * because file-backed swap is non-operational after unmount
- * of the underlying filesystem.
+ * Unmount filesystems and perform swapoff, to quiesce
+ * the system as much as possible. In particular, no
+ * I/O should be initiated from top levels since it
+ * might be abruptly terminated by reset, or otherwise
+ * erronously handled because other parts of the
+ * system are disabled.
+ *
+ * Swapoff before unmount, because file-backed swap is
+ * non-operational after unmount of the underlying
+ * filesystem.
*/
if (!KERNEL_PANICKED()) {
swapoff_all();