Thomas Bushnell BSG wrote:
Ognyan Kulev <[EMAIL PROTECTED]> writes:
Just a small techical correction: we remove mapping only when we are
remapping page to contain another block.  So when page is evicted, it
continues to map the same disk block until ext2fs decides that we want
this page to hold another block (only if page is still evicted, of
course).

What do you do if the page is evicted while it is still in use?

Eviction in itself does nothing except to raise the flag that page is evicted. When ext2fs searches for a page that can be remapped[1], only those that are marked as evicted _and_ with reference count of zero are considered for remapping. Locking and other stuff take care of the tricky remapping.


[1] "remapping page" means that this page held one disk block, and we change it to contain another block -- future pager_read_page will read this other block. This change is only in ext2fs data structures and it's important that the page is evicted and unreferenced while we do it.

Regards,
ogi


_______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to