--- src/sys/vfs/ufs/ufs_lookup.c 2006/04/05 20:22:30 1.21 +++ src/sys/vfs/ufs/ufs_lookup.c 2006/04/24 21:45:47 1.22 @@ -716,6 +716,7 @@ ufs_direnter(struct vnode *dvp, struct v */ if (dp->i_offset & (DIRBLKSIZ - 1)) panic("ufs_direnter: newblk"); + vnode_pager_setsize(dvp, dp->i_offset + DIRBLKSIZ); flags = B_CLRBUF; if (!DOINGSOFTDEP(dvp) && !DOINGASYNC(dvp)) flags |= B_SYNC; @@ -727,7 +728,6 @@ ufs_direnter(struct vnode *dvp, struct v } dp->i_size = dp->i_offset + DIRBLKSIZ; dp->i_flag |= IN_CHANGE | IN_UPDATE; - vnode_pager_setsize(dvp, (u_long)dp->i_size); dirp->d_reclen = DIRBLKSIZ; blkoff = dp->i_offset & (VFSTOUFS(dvp->v_mount)->um_mountp->mnt_stat.f_iosize - 1);