From 0676a140b265380e3cf75aef151e68e2108711c5 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 29 Oct 2003 07:51:41 +0000 Subject: [PATCH] - Synchronize updates to nswapdev using sw_dev_mtx. --- sys/vm/swap_pager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index a7edae2221b..ea697ca2bc5 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -2173,8 +2173,8 @@ swaponsomething(struct vnode *vp, void *id, u_long nblks, sw_strategy_t *strateg sp->sw_first = dvbase; sp->sw_end = dvbase + nblks; TAILQ_INSERT_TAIL(&swtailq, sp, sw_list); - mtx_unlock(&sw_dev_mtx); nswapdev++; + mtx_unlock(&sw_dev_mtx); swap_pager_avail += nblks; swap_pager_full = 0; } @@ -2277,10 +2277,10 @@ found: sp->sw_id = NULL; mtx_lock(&sw_dev_mtx); TAILQ_REMOVE(&swtailq, sp, sw_list); + nswapdev--; mtx_unlock(&sw_dev_mtx); if (swdevhd == sp) swdevhd = NULL; - nswapdev--; blist_destroy(sp->sw_blist); free(sp, M_VMPGDATA);