tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Where does a vnode gets dirty?



Note that clean pages in writable files are mapped as read-only (see
UVM_OBJ_NEEDS_WRITEFAULT() in uvm_fault.c).  Write-accessing such
pages causes protection fault, then calls uvm_fault() -> pgo_get() ->
genfs_getpages(), where pages are marked dirty.  I think this is same
for UBC except that pages are mapped indirectly in UBC windows (kernel
space).

On Fri, Aug 19, 2011 at 10:29 AM, Emmanuel Dreyfus <manu%netbsd.org@localhost> 
wrote:
> Hello
>
> When copying data to a vnode using ubc_alloc() ubc_uiomove() and
> ubc_release(), where does the kernel notes that data is dirty and will
> need to be written by VOP_PUTPAGE? Is it the responsability of the
> caller to request it (how?), or is it done somewhere in UBC?
>
> --
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu%netbsd.org@localhost
>


Home | Main Index | Thread Index | Old Index