diff options
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_fault.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 4641537..2b20004 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -795,14 +795,14 @@ readrest: * Also tell the backing pager, if any, that it should remove * any swap backing since the page is now dirty. */ + if (fs.entry->eflags & MAP_ENTRY_NOSYNC) { + if (fs.m->dirty == 0) + vm_page_flag_set(fs.m, PG_NOSYNC); + } else { + vm_page_flag_clear(fs.m, PG_NOSYNC); + } if (fault_flags & VM_FAULT_DIRTY) { int s; - if (fs.entry->eflags & MAP_ENTRY_NOSYNC) { - if (fs.m->dirty == 0) - vm_page_flag_set(fs.m, PG_NOSYNC); - } else { - vm_page_flag_clear(fs.m, PG_NOSYNC); - } vm_page_dirty(fs.m); s = splvm(); vm_pager_page_unswapped(fs.m); |