SCCS-vsn: sys/ufs/ffs/ffs_inode.c 7.28
SCCS-vsn: sys/ufs/ffs/ufs_inode.c 7.28
SCCS-vsn: sys/ufs/lfs/lfs_inode.c 7.28
SCCS-vsn: sys/ufs/ufs/ufs_inode.c 7.28
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ffs_inode.c 7.27 (Berkeley) %G%
+ * @(#)ffs_inode.c 7.28 (Berkeley) %G%
#endif
}
IUPDAT(ip, &time, &time, 0);
#endif
}
IUPDAT(ip, &time, &time, 0);
+ IUNLOCK(ip);
+ ip->i_flag = 0;
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
- if (vp->v_usecount == 0 && ip->i_mode == 0) {
- vinvalbuf(vp, 0);
- IUNLOCK(ip);
- ip->i_flag = 0;
- if ((vp->v_flag & VXLOCK) == 0)
- vgone(vp);
- return (error);
- }
- IUNLOCK(ip);
- ip->i_flag = 0;
+ if (vp->v_usecount == 0 && ip->i_mode == 0 &&
+ (vp->v_flag & VXLOCK) == 0)
+ vgone(vp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_inode.c 7.27 (Berkeley) %G%
+ * @(#)ufs_inode.c 7.28 (Berkeley) %G%
#endif
}
IUPDAT(ip, &time, &time, 0);
#endif
}
IUPDAT(ip, &time, &time, 0);
+ IUNLOCK(ip);
+ ip->i_flag = 0;
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
- if (vp->v_usecount == 0 && ip->i_mode == 0) {
- vinvalbuf(vp, 0);
- IUNLOCK(ip);
- ip->i_flag = 0;
- if ((vp->v_flag & VXLOCK) == 0)
- vgone(vp);
- return (error);
- }
- IUNLOCK(ip);
- ip->i_flag = 0;
+ if (vp->v_usecount == 0 && ip->i_mode == 0 &&
+ (vp->v_flag & VXLOCK) == 0)
+ vgone(vp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)lfs_inode.c 7.27 (Berkeley) %G%
+ * @(#)lfs_inode.c 7.28 (Berkeley) %G%
#endif
}
IUPDAT(ip, &time, &time, 0);
#endif
}
IUPDAT(ip, &time, &time, 0);
+ IUNLOCK(ip);
+ ip->i_flag = 0;
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
- if (vp->v_usecount == 0 && ip->i_mode == 0) {
- vinvalbuf(vp, 0);
- IUNLOCK(ip);
- ip->i_flag = 0;
- if ((vp->v_flag & VXLOCK) == 0)
- vgone(vp);
- return (error);
- }
- IUNLOCK(ip);
- ip->i_flag = 0;
+ if (vp->v_usecount == 0 && ip->i_mode == 0 &&
+ (vp->v_flag & VXLOCK) == 0)
+ vgone(vp);
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_inode.c 7.27 (Berkeley) %G%
+ * @(#)ufs_inode.c 7.28 (Berkeley) %G%
#endif
}
IUPDAT(ip, &time, &time, 0);
#endif
}
IUPDAT(ip, &time, &time, 0);
+ IUNLOCK(ip);
+ ip->i_flag = 0;
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
/*
* If we are done with the inode, reclaim it
* so that it can be reused immediately.
*/
- if (vp->v_usecount == 0 && ip->i_mode == 0) {
- vinvalbuf(vp, 0);
- IUNLOCK(ip);
- ip->i_flag = 0;
- if ((vp->v_flag & VXLOCK) == 0)
- vgone(vp);
- return (error);
- }
- IUNLOCK(ip);
- ip->i_flag = 0;
+ if (vp->v_usecount == 0 && ip->i_mode == 0 &&
+ (vp->v_flag & VXLOCK) == 0)
+ vgone(vp);