summaryrefslogtreecommitdiffstats
path: root/sys/vm/swap_pager.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-04-30 11:25:49 +0000
committerjeff <jeff@FreeBSD.org>2005-04-30 11:25:49 +0000
commit5adae6c6229fe6dabcf2fe80345c194970ae8333 (patch)
treea4995a7a081504311cffc497d3c466cb65e703a7 /sys/vm/swap_pager.c
parent53caed435d543708b0da5bef97218714fddf1f4f (diff)
downloadFreeBSD-src-5adae6c6229fe6dabcf2fe80345c194970ae8333.zip
FreeBSD-src-5adae6c6229fe6dabcf2fe80345c194970ae8333.tar.gz
- VM_LOCK_GIANT in the swap pager's iodone routine as VFS will soon call it
without Giant. Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/vm/swap_pager.c')
-rw-r--r--sys/vm/swap_pager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index f4d61fb..785107f 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1399,6 +1399,7 @@ swp_pager_async_iodone(struct buf *bp)
int i;
vm_object_t object = NULL;
+ VM_LOCK_GIANT();
bp->b_flags |= B_DONE;
/*
@@ -1567,6 +1568,7 @@ swp_pager_async_iodone(struct buf *bp)
)
)
);
+ VM_UNLOCK_GIANT();
splx(s);
}
OpenPOWER on IntegriCloud