aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/md
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-01-03 18:48:53 +0000
committerMark Johnston <markj@FreeBSD.org>2020-01-03 18:48:53 +0000
commit2c14385aa21342fa8ef096d0f17a64701ae5f8c6 (patch)
treed9237b2ef193acfc6d7e2b2e96d138d725a3e3cd /sys/dev/md
parent3a22f09cbff13aed11206af6c839c4e1a5a08bff (diff)
Notes
Diffstat (limited to 'sys/dev/md')
-rw-r--r--sys/dev/md/md.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c
index 483c57cbd782..bf826ae0a1c7 100644
--- a/sys/dev/md/md.c
+++ b/sys/dev/md/md.c
@@ -1142,7 +1142,16 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
}
if (m != NULL) {
vm_page_xunbusy(m);
- vm_page_reference(m);
+
+ /*
+ * The page may be deactivated prior to setting
+ * PGA_REFERENCED, but in this case it will be
+ * reactivated by the page daemon.
+ */
+ if (vm_page_active(m))
+ vm_page_reference(m);
+ else
+ vm_page_activate(m);
}
/* Actions on further pages start at offset 0 */