diff options
author | pav <pav@FreeBSD.org> | 2007-01-07 23:53:16 +0000 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2007-01-07 23:53:16 +0000 |
commit | 419ce53db8c52ccb50dfe8e0f89b66cee7fedce1 (patch) | |
tree | a90f09db5a325cd49696209894e82d756a60c483 /sys/fs/udf/udf_vfsops.c | |
parent | c3ed4409e68f12ae2680d645a9d88286aeb63e8a (diff) | |
download | FreeBSD-src-419ce53db8c52ccb50dfe8e0f89b66cee7fedce1.zip FreeBSD-src-419ce53db8c52ccb50dfe8e0f89b66cee7fedce1.tar.gz |
Tell backing v_object the filesize right on it's creation.
MFC after: 1 week
Diffstat (limited to 'sys/fs/udf/udf_vfsops.c')
-rw-r--r-- | sys/fs/udf/udf_vfsops.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c index d21301e..78247f3 100644 --- a/sys/fs/udf/udf_vfsops.c +++ b/sys/fs/udf/udf_vfsops.c @@ -699,6 +699,8 @@ udf_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp) { struct ifid *ifhp; struct vnode *nvp; + struct udf_node *np; + off_t fsize; int error; ifhp = (struct ifid *)fhp; @@ -708,8 +710,11 @@ udf_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp) return (error); } + np = VTON(nvp); + fsize = le64toh(np->fentry->inf_len); + *vpp = nvp; - vnode_create_vobject(*vpp, 0, curthread); + vnode_create_vobject(*vpp, fsize, curthread); return (0); } |