* therefore obsolescent.
*
* OSF/1 Locking: VN_LOCK has been called.
- * XXX - should FreeBSD have done this, too? Certainly looks like it.
+ * We do not lock the vnode here, but instead require that it be exclusive
+ * locked by code calling osi_VM_StoreAllSegments directly, or scheduling it
+ * from the bqueue - Matt
* Maybe better to just call vnode_pager_setsize()?
*/
int
*/
do {
anyio = 0;
-#ifdef AFS_FBSD80_ENV
- lock_vnode(vp);
-#endif
if (VOP_GETVOBJECT(vp, &obj) == 0 && (obj->flags & OBJ_MIGHTBEDIRTY)) {
-#ifdef AFS_FBSD80_ENV
- unlock_vnode(vp);
-#endif
#ifdef AFS_FBSD50_ENV
if (!vget(vp, LK_EXCLUSIVE | LK_RETRY, curthread)) {
#else
vput(vp);
}
}
-#ifdef AFS_FBSD80_ENV
- else
- unlock_vnode(vp);
-#endif
} while (anyio && (--tries > 0));
AFS_GLOCK();
ObtainWriteLock(&avc->lock, 94);
osi_VM_TryToSmush(struct vcache *avc, afs_ucred_t *acred, int sync)
{
struct vnode *vp;
- struct vm_object *obj;
- int anyio, tries, code;
+ int tries, code;
SPLVAR;
if (vp->v_iflag & VI_DOOMED) {
USERPRI;
- return 0;
+ return;
}
if (vp->v_bufobj.bo_object != NULL) {