summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorcracauer <cracauer@FreeBSD.org>2005-10-28 18:39:00 +0000
committercracauer <cracauer@FreeBSD.org>2005-10-28 18:39:00 +0000
commitd7ae0b2c661420a42cc63ea5a86ad7d1c14476e1 (patch)
treeed99d58fffbc35f53c8ff694e7828768ecbda9a8 /sys/gnu
parent21aa82a5ae17d4a50a4fa35697043c3434de308a (diff)
downloadFreeBSD-src-d7ae0b2c661420a42cc63ea5a86ad7d1c14476e1.zip
FreeBSD-src-d7ae0b2c661420a42cc63ea5a86ad7d1c14476e1.tar.gz
Fix this:
kern/87959 cracauer ext2fs: no cp(1) possible, mmap returns EINVAL ext2fs was missing vnode_create_vobject. (Reisefs probably has the same problem but I want to get this in quick for 6-release)
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c
index 30d3d57..4a8482e 100644
--- a/sys/gnu/fs/ext2fs/ext2_vnops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vnops.c
@@ -237,9 +237,8 @@ ext2_create(ap)
/*
* Open called.
- *
- * Nothing to do.
*/
+
static int
ext2_open(ap)
struct vop_open_args /* {
@@ -249,6 +248,8 @@ ext2_open(ap)
struct thread *a_td;
} */ *ap;
{
+ struct vnode *vp = ap->a_vp;
+ struct inode *ip = VTOI(vp);
if (ap->a_vp->v_type == VBLK || ap->a_vp->v_type == VCHR)
return (EOPNOTSUPP);
@@ -259,6 +260,9 @@ ext2_open(ap)
if ((VTOI(ap->a_vp)->i_flags & APPEND) &&
(ap->a_mode & (FWRITE | O_APPEND)) == FWRITE)
return (EPERM);
+
+ vnode_create_vobject(ap->a_vp, ip->i_size, ap->a_td);
+
return (0);
}
OpenPOWER on IntegriCloud