diff --git a/sys/fs/ext2fs/ext2_lookup.c b/sys/fs/ext2fs/ext2_lookup.c index 02e66f76724a..cd230dce294e 100644 --- a/sys/fs/ext2fs/ext2_lookup.c +++ b/sys/fs/ext2fs/ext2_lookup.c @@ -888,9 +888,9 @@ ext2_direnter(struct inode *ip, struct vnode *dvp, struct componentname *cnp) if (ext2_htree_has_idx(dp)) { error = ext2_htree_add_entry(dvp, &newdir, cnp); if (error) { - /* XXX: These seem to be set in the wrong place. */ - dp->i_flags |= IN_CHANGE | IN_UPDATE; + /* XXX: These are set in the wrong place. */ dp->i_flags &= ~E4_INDEX; + dp->i_flags |= IN_CHANGE | IN_UPDATE; } return (error); } diff --git a/sys/fs/ext2fs/ext2_subr.c b/sys/fs/ext2fs/ext2_subr.c index 09fcee80654e..585a975cc082 100644 --- a/sys/fs/ext2fs/ext2_subr.c +++ b/sys/fs/ext2fs/ext2_subr.c @@ -82,7 +82,7 @@ ext2_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp) *bpp = NULL; /* - * E4_EXTENTS requires special treatment otherwise we can fall + * E4_EXTENTS requires special treatment as we can otherwise fall * back to the normal path. */ if (!(ip->i_flags & E4_EXTENTS)) diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c index 72a008bd3338..1ab1fdd60b84 100644 --- a/sys/fs/ext2fs/ext2_vnops.c +++ b/sys/fs/ext2fs/ext2_vnops.c @@ -343,9 +343,8 @@ ext2_getattr(struct vop_getattr_args *ap) vap->va_birthtime.tv_sec = ip->i_birthtime; vap->va_birthtime.tv_nsec = ip->i_birthnsec; } - vap->va_flags = ip->i_flags; - /* E4_* flags are private to the driver */ - vap->va_flags &= !(E4_INDEX | E4_EXTENTS); + /* E4_* flags are private to the filesystem. */ + vap->va_flags = ip->i_flags & ~(E4_INDEX | E4_EXTENTS); vap->va_gen = ip->i_gen; vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize; vap->va_bytes = dbtob((u_quad_t)ip->i_blocks);