diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c index b96e01c64bdd..a99c04f00a32 100644 --- a/sys/gnu/ext2fs/ext2_vnops.c +++ b/sys/gnu/ext2fs/ext2_vnops.c @@ -264,6 +264,7 @@ ext2_mknod(ap) struct vattr *vap = ap->a_vap; struct vnode **vpp = ap->a_vpp; struct inode *ip; + ino_t ino; int error; error = ext2_makeinode(MAKEIMODE(vap->va_type, vap->va_mode), @@ -286,8 +287,9 @@ ext2_mknod(ap) */ vput(*vpp); (*vpp)->v_type = VNON; + ino = ip->i_number; /* Save this before vgone() invalidates ip. */ vgone(*vpp); - error = VFS_VGET(ap->a_dvp->v_mount, ip->i_ino, vpp); + error = VFS_VGET(ap->a_dvp->v_mount, ino, vpp); if (error) { *vpp = NULL; return (error); diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c index b96e01c64bdd..a99c04f00a32 100644 --- a/sys/gnu/fs/ext2fs/ext2_vnops.c +++ b/sys/gnu/fs/ext2fs/ext2_vnops.c @@ -264,6 +264,7 @@ ext2_mknod(ap) struct vattr *vap = ap->a_vap; struct vnode **vpp = ap->a_vpp; struct inode *ip; + ino_t ino; int error; error = ext2_makeinode(MAKEIMODE(vap->va_type, vap->va_mode), @@ -286,8 +287,9 @@ ext2_mknod(ap) */ vput(*vpp); (*vpp)->v_type = VNON; + ino = ip->i_number; /* Save this before vgone() invalidates ip. */ vgone(*vpp); - error = VFS_VGET(ap->a_dvp->v_mount, ip->i_ino, vpp); + error = VFS_VGET(ap->a_dvp->v_mount, ino, vpp); if (error) { *vpp = NULL; return (error); diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 127bda26042f..07d0dac0fbb4 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -208,6 +208,7 @@ ufs_mknod(ap) struct vattr *vap = ap->a_vap; struct vnode **vpp = ap->a_vpp; struct inode *ip; + ino_t ino; int error; error = ufs_makeinode(MAKEIMODE(vap->va_type, vap->va_mode), @@ -231,8 +232,9 @@ ufs_mknod(ap) */ vput(*vpp); (*vpp)->v_type = VNON; + ino = ip->i_number; /* Save this before vgone() invalidates ip. */ vgone(*vpp); - error = VFS_VGET(ap->a_dvp->v_mount, ip->i_ino, vpp); + error = VFS_VGET(ap->a_dvp->v_mount, ino, vpp); if (error) { *vpp = NULL; return (error);