Modify the vm object locking in do_sendfile() so that the containing object
is locked when vm_page_io_finish() is called on a page. This is to satisfy a new, post-RELENG_5 assertion in vm_page_io_finish(). (I am in the process of transitioning the responsibility for synchronizing access to various fields/flags on the page from the global page queues lock to the per-object lock.) Tripped over by: obrien@
This commit is contained in:
parent
6efc621989
commit
d66bfa760a
@ -1890,10 +1890,11 @@ retry_lookup:
|
||||
IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT),
|
||||
td->td_ucred, NOCRED, &resid, td);
|
||||
VOP_UNLOCK(vp, 0, td);
|
||||
if (error)
|
||||
VM_OBJECT_LOCK(obj);
|
||||
VM_OBJECT_LOCK(obj);
|
||||
vm_page_lock_queues();
|
||||
vm_page_io_finish(pg);
|
||||
if (!error)
|
||||
VM_OBJECT_UNLOCK(obj);
|
||||
mbstat.sf_iocnt++;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user