diff options
author | yar <yar@FreeBSD.org> | 2006-02-01 12:43:13 +0000 |
---|---|---|
committer | yar <yar@FreeBSD.org> | 2006-02-01 12:43:13 +0000 |
commit | 5a09437b5552b9bc7ae004f2aea06e65d49874b2 (patch) | |
tree | 6e2ec195edd2663b7323bb03c2e09232e87703c0 /sys/sys/vnode.h | |
parent | f31d2a3b5cf27eec3bb862aa56314f89f94e83a9 (diff) | |
download | FreeBSD-src-5a09437b5552b9bc7ae004f2aea06e65d49874b2.zip FreeBSD-src-5a09437b5552b9bc7ae004f2aea06e65d49874b2.tar.gz |
Use off_t for file size passed to vnode_create_vobject().
The former type, size_t, was causing truncation to 32 bits on i386,
which immediately led to undersizing of VM objects backed by
files >4GB. In particular, sendfile(2) was broken for such files.
PR: kern/92243
MFC after: 5 days
Diffstat (limited to 'sys/sys/vnode.h')
-rw-r--r-- | sys/sys/vnode.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 8469187..426244e 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -700,7 +700,7 @@ void vref(struct vnode *vp); int vrefcnt(struct vnode *vp); void v_addpollinfo(struct vnode *vp); -int vnode_create_vobject(struct vnode *vp, size_t size, struct thread *td); +int vnode_create_vobject(struct vnode *vp, off_t size, struct thread *td); void vnode_destroy_vobject(struct vnode *vp); extern struct vop_vector fifo_specops; |