Got rid of two ToDo-items: instead of clearing the PAGE_MODIFIED flag after having
written the page, we now do it before, so that it cannot lose any changed data anymore; it doesn't matter if the page is written to while writing it back, the worst thing that can happen is that we write the same page twice. Also, we don't rely on the PAGE_MODIFIED bit anymore, we now check all mappings of that page to find all modified pages, no matter how far the (currently disabled) page daemon had come. Also, destroying an area will now result in writing back changed pages - this is only really important for memory mapped files, though, and should probably be avoided for other vm_store types. Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15597 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -91,11 +91,11 @@ typedef struct vm_area {
|
||||
off_t cache_offset;
|
||||
|
||||
struct vm_address_space *aspace;
|
||||
struct vm_area *aspace_next;
|
||||
struct vm_area *aspace_next;
|
||||
struct vm_virtual_map *map;
|
||||
struct vm_area *cache_next;
|
||||
struct vm_area *cache_prev;
|
||||
struct vm_area *hash_next;
|
||||
struct vm_area *cache_next;
|
||||
struct vm_area *cache_prev;
|
||||
struct vm_area *hash_next;
|
||||
} vm_area;
|
||||
|
||||
// virtual map (1 per address space)
|
||||
|
||||
Reference in New Issue
Block a user