Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsclient/nfs_clvnops.c
Show First 20 Lines • Show All 640 Lines • ▼ Show 20 Lines | nfs_open(struct vop_open_args *ap) | ||||
* buffer cache and then... | * buffer cache and then... | ||||
* Make sure all writes are pushed to the NFS server. If this is not | * Make sure all writes are pushed to the NFS server. If this is not | ||||
* done, the modify time of the file can change while the text | * done, the modify time of the file can change while the text | ||||
* file is being executed. This will cause the process that is | * file is being executed. This will cause the process that is | ||||
* executing the text file to be terminated. | * executing the text file to be terminated. | ||||
*/ | */ | ||||
if (vp->v_writecount <= -1) { | if (vp->v_writecount <= -1) { | ||||
if ((obj = vp->v_object) != NULL && | if ((obj = vp->v_object) != NULL && | ||||
(obj->flags & OBJ_MIGHTBEDIRTY) != 0) { | vm_object_mightbedirty(obj)) { | ||||
VM_OBJECT_WLOCK(obj); | VM_OBJECT_WLOCK(obj); | ||||
vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); | vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); | ||||
VM_OBJECT_WUNLOCK(obj); | VM_OBJECT_WUNLOCK(obj); | ||||
} | } | ||||
/* Now, flush the buffer cache. */ | /* Now, flush the buffer cache. */ | ||||
ncl_flush(vp, MNT_WAIT, curthread, 0, 0); | ncl_flush(vp, MNT_WAIT, curthread, 0, 0); | ||||
▲ Show 20 Lines • Show All 2,891 Lines • Show Last 20 Lines |