volatile
#endif
afs_int32 error;
+#if defined(AFS_FBSD_ENV) || defined(AFS_DFBSD_ENV)
+ struct vnode *vp = AFSTOV(avc);
+#endif
#ifdef AFS_DARWIN80_ENV
uio_t tuiop = NULL;
#else
return (EFBIG);
}
#endif
-#ifdef AFS_VM_RDWR_ENV
+#if defined(AFS_VM_RDWR_ENV) && !defined(AFS_FAKEOPEN_ENV)
/*
* If write is implemented via VM, afs_FakeOpen() is called from the
* high-level write op.
ICL_HANDLE_OFFSET(avc->f.m.Length), ICL_TYPE_OFFSET,
ICL_HANDLE_OFFSET(filePos));
avc->f.m.Length = filePos;
+#if defined(AFS_FBSD_ENV) || defined(AFS_DFBSD_ENV)
+ vnode_pager_setsize(vp, filePos);
+#endif
}
#endif
ReleaseWriteLock(&tdc->lock);
}
#endif
}
-#ifndef AFS_VM_RDWR_ENV
+#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_FAKEOPEN_ENV)
afs_FakeClose(avc, acred);
#endif
if (error && !avc->vc_error)
volatile
#endif
afs_int32 error;
+#if defined(AFS_FBSD_ENV) || defined(AFS_DFBSD_ENV)
+ struct vnode *vp = AFSTOV(avc);
+#endif
#ifdef AFS_DARWIN80_ENV
uio_t tuiop = NULL;
#else
return (EFBIG);
}
#endif
-#ifdef AFS_VM_RDWR_ENV
+#if defined(AFS_VM_RDWR_ENV) && !defined(AFS_FAKEOPEN_ENV)
/*
* If write is implemented via VM, afs_FakeOpen() is called from the
* high-level write op.
ICL_HANDLE_OFFSET(avc->f.m.Length), ICL_TYPE_OFFSET,
ICL_HANDLE_OFFSET(filePos));
avc->f.m.Length = filePos;
+#if defined(AFS_FBSD_ENV) || defined(AFS_DFBSD_ENV)
+ vnode_pager_setsize(vp, filePos);
+#endif
}
#endif
osi_UFSClose(tfile);
}
#endif
}
-#ifndef AFS_VM_RDWR_ENV
+#if !defined(AFS_VM_RDWR_ENV) || defined(AFS_FAKEOPEN_ENV)
afs_FakeClose(avc, acred);
#endif
error = afs_CheckCode(error, &treq, 7);