summaryrefslogtreecommitdiffstats
path: root/sys/fs/udf
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2007-01-07 23:53:16 +0000
committerpav <pav@FreeBSD.org>2007-01-07 23:53:16 +0000
commit419ce53db8c52ccb50dfe8e0f89b66cee7fedce1 (patch)
treea90f09db5a325cd49696209894e82d756a60c483 /sys/fs/udf
parentc3ed4409e68f12ae2680d645a9d88286aeb63e8a (diff)
downloadFreeBSD-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')
-rw-r--r--sys/fs/udf/udf_vfsops.c7
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);
}
OpenPOWER on IntegriCloud