diff options
| author | Peter Edwards <peadar@FreeBSD.org> | 2005-01-29 16:23:39 +0000 |
|---|---|---|
| committer | Peter Edwards <peadar@FreeBSD.org> | 2005-01-29 16:23:39 +0000 |
| commit | 72b3e305af69d13145eebcf173957ec0e3a33195 (patch) | |
| tree | e0bcb61510046769d944a62c5d3c867680011cc9 /sys/fs/cd9660 | |
| parent | 37085a3931ee56e0257fe196b44af468cc2ef375 (diff) | |
Notes
Diffstat (limited to 'sys/fs/cd9660')
| -rw-r--r-- | sys/fs/cd9660/cd9660_vfsops.c | 2 | ||||
| -rw-r--r-- | sys/fs/cd9660/cd9660_vnops.c | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index 3d484c9e1363..5830f03ab688 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -616,7 +616,7 @@ cd9660_fhtovp(mp, fhp, vpp) return (ESTALE); } *vpp = nvp; - vnode_create_vobject(*vpp, 0, curthread); + vnode_create_vobject(*vpp, ip->i_size, curthread); return (0); } diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index bc45abe2909c..5b3d7233d302 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include <isofs/cd9660/iso_rrip.h> static vop_setattr_t cd9660_setattr; +static vop_open_t cd9660_open; static vop_access_t cd9660_access; static vop_getattr_t cd9660_getattr; static vop_ioctl_t cd9660_ioctl; @@ -156,6 +157,23 @@ cd9660_access(ap) } static int +cd9660_open(ap) + struct vop_open_args /* { + struct vnode *a_vp; + int a_mode; + struct ucred *a_cred; + struct thread *a_td; + int a_fdidx; + } */ *ap; +{ + struct iso_node *ip = VTOI(ap->a_vp); + + vnode_create_vobject(ap->a_vp, ip->i_size, ap->a_td); + return 0; +} + + +static int cd9660_getattr(ap) struct vop_getattr_args /* { struct vnode *a_vp; @@ -782,6 +800,7 @@ cd9660_pathconf(ap) */ struct vop_vector cd9660_vnodeops = { .vop_default = &default_vnodeops, + .vop_open = cd9660_open, .vop_access = cd9660_access, .vop_bmap = cd9660_bmap, .vop_cachedlookup = cd9660_lookup, |
