From dd5e55f872bfe126b7779e482bb53eea0687eae9 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 25 Jun 2003 04:53:56 +0000 Subject: Maintain the lock on a vm object when calling vm_page_grab(). --- sys/vm/swap_pager.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'sys/vm') diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 763f237d011e..f6ca7c7ef205 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1701,10 +1701,8 @@ swp_pager_force_pagein(struct swblock *swap, int idx) VM_OBJECT_LOCK(object); vm_object_pip_add(object, 1); - VM_OBJECT_UNLOCK(object); m = vm_page_grab(object, pindex + idx, VM_ALLOC_NORMAL|VM_ALLOC_RETRY); if (m->valid == VM_PAGE_BITS_ALL) { - VM_OBJECT_LOCK(object); vm_object_pip_subtract(object, 1); VM_OBJECT_UNLOCK(object); vm_page_lock_queues(); @@ -1719,7 +1717,6 @@ swp_pager_force_pagein(struct swblock *swap, int idx) if (swap_pager_getpages(object, &m, 1, 0) != VM_PAGER_OK) panic("swap_pager_force_pagein: read from swap failed");/*XXX*/ - VM_OBJECT_LOCK(object); vm_object_pip_subtract(object, 1); VM_OBJECT_UNLOCK(object); -- cgit v1.3