aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2005-03-17 12:03:42 +0000
committerJeff Roberson <jeff@FreeBSD.org>2005-03-17 12:03:42 +0000
commitee39666a7634396322ed97235ba64b0b3642ff58 (patch)
tree5f1f88c2a2216611104f2c6a496305b0afdf8576 /sys
parentba7310532462e8ae2566b1f4d7e7b86908d95df2 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_object.c6
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);
}
}