diff options
| author | Jeff Roberson <jeff@FreeBSD.org> | 2005-03-17 12:03:42 +0000 |
|---|---|---|
| committer | Jeff Roberson <jeff@FreeBSD.org> | 2005-03-17 12:03:42 +0000 |
| commit | ee39666a7634396322ed97235ba64b0b3642ff58 (patch) | |
| tree | 5f1f88c2a2216611104f2c6a496305b0afdf8576 /sys | |
| parent | ba7310532462e8ae2566b1f4d7e7b86908d95df2 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/vm/vm_object.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 9adf836fa7495..7c23efaff1cd5 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1887,12 +1887,14 @@ vm_object_set_writeable_dirty(vm_object_t object) struct vnode *vp; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + if ((object->flags & (OBJ_MIGHTBEDIRTY|OBJ_WRITEABLE)) == + (OBJ_MIGHTBEDIRTY|OBJ_WRITEABLE)) + return; vm_object_set_flag(object, OBJ_WRITEABLE|OBJ_MIGHTBEDIRTY); if (object->type == OBJT_VNODE && (vp = (struct vnode *)object->handle) != NULL) { VI_LOCK(vp); - if ((vp->v_iflag & VI_OBJDIRTY) == 0) - vp->v_iflag |= VI_OBJDIRTY; + vp->v_iflag |= VI_OBJDIRTY; VI_UNLOCK(vp); } } |
