diff options
| -rw-r--r-- | sys/vm/vm_swap.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/vm/vm_swap.c b/sys/vm/vm_swap.c index 9577c599979a..0a38aa39fa00 100644 --- a/sys/vm/vm_swap.c +++ b/sys/vm/vm_swap.c @@ -210,14 +210,6 @@ swapon(p, uap) if (error) vrele(vp); - if (!swapdev_vp) { - error = getnewvnode(VT_NON, NULL, swapdev_vnodeop_p, - &swapdev_vp); - if (error) - panic("Cannot get vnode for swapdev"); - swapdev_vp->v_type = VNON; /* Untyped */ - } - return (error); } @@ -246,6 +238,14 @@ swaponvp(p, vp, dev, nblks) swblk_t dvbase; int error; + if (!swapdev_vp) { + error = getnewvnode(VT_NON, NULL, swapdev_vnodeop_p, + &swapdev_vp); + if (error) + panic("Cannot get vnode for swapdev"); + swapdev_vp->v_type = VNON; /* Untyped */ + } + ASSERT_VOP_UNLOCKED(vp, "swaponvp"); for (sp = swdevt, index = 0 ; index < nswdev; index++, sp++) { if (sp->sw_vp == vp) |
