Page MenuHomeFreeBSD

D49521.id152734.diff
No OneTemporary

D49521.id152734.diff

diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -2199,14 +2199,16 @@
/*
* Allocate a page in the destination object.
*/
- dst_m = vm_page_alloc_after(dst_object, (src_object ==
- dst_object ? src_pindex : 0) + dst_pindex,
+ pindex = (src_object == dst_object ? src_pindex : 0) +
+ dst_pindex;
+ dst_m = vm_page_alloc_after(dst_object, pindex,
VM_ALLOC_NORMAL, mpred);
if (dst_m == NULL) {
VM_OBJECT_WUNLOCK(dst_object);
VM_OBJECT_RUNLOCK(object);
vm_wait(dst_object);
VM_OBJECT_WLOCK(dst_object);
+ mpred = vm_page_mpred(src_object, pindex);
goto again;
}

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 18, 10:21 PM (7 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28835424
Default Alt Text
D49521.id152734.diff (689 B)

Event Timeline