diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2020-01-03 18:48:53 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2020-01-03 18:48:53 +0000 |
| commit | 2c14385aa21342fa8ef096d0f17a64701ae5f8c6 (patch) | |
| tree | d9237b2ef193acfc6d7e2b2e96d138d725a3e3cd /sys/dev/md | |
| parent | 3a22f09cbff13aed11206af6c839c4e1a5a08bff (diff) | |
Notes
Diffstat (limited to 'sys/dev/md')
| -rw-r--r-- | sys/dev/md/md.c | 11 |
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 */ |
