diff options
-rw-r--r-- | sys/dev/md/md.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 99b18b186fb9..d3e3da8ac443 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -629,9 +629,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp) if (rv == VM_PAGER_ERROR) { sf_buf_free(sf); sched_unpin(); - vm_page_lock_queues(); vm_page_wakeup(m); - vm_page_unlock_queues(); break; } bcopy((void *)(sf_buf_kva(sf) + offs), p, len); @@ -641,9 +639,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp) if (rv == VM_PAGER_ERROR) { sf_buf_free(sf); sched_unpin(); - vm_page_lock_queues(); vm_page_wakeup(m); - vm_page_unlock_queues(); break; } bcopy(p, (void *)(sf_buf_kva(sf) + offs), len); @@ -655,9 +651,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp) if (rv == VM_PAGER_ERROR) { sf_buf_free(sf); sched_unpin(); - vm_page_lock_queues(); vm_page_wakeup(m); - vm_page_unlock_queues(); break; } bzero((void *)(sf_buf_kva(sf) + offs), len); @@ -667,8 +661,8 @@ mdstart_swap(struct md_s *sc, struct bio *bp) } sf_buf_free(sf); sched_unpin(); - vm_page_lock_queues(); vm_page_wakeup(m); + vm_page_lock_queues(); vm_page_activate(m); if (bp->bio_cmd == BIO_WRITE) vm_page_dirty(m); |