Re: mutt segfault with ext3 & 1k blocks & htree in 2.6

From: Andreas Dilger
Date: Sun Aug 31 2003 - 17:47:06 EST


On Aug 30, 2003 16:58 -0700, Mike Fedyk wrote:
> On Sat, Aug 30, 2003 at 01:14:21PM -0600, Andreas Dilger wrote:
> > On Aug 29, 2003 11:09 -0700, Mike Fedyk wrote:
> > > On Fri, Aug 29, 2003 at 10:24:51AM -0700, Mike Fedyk wrote:
> > > o Find out that a directory is using htree?
> >
> > "lsattr <dir>" will show it. Note that it will only ever be set on
> > directories that are larger than a single disk block.
> >
> > # lsattr -d d1
> > ----------I-- d1
> >
>
> Ok, now I only have htree enabled on one of my maildir folders.
>
> > > o Disable htree on my /? (tune2fs -O ^dir_index), but then how do I get
> > > my directories back to non-htree without running fsck from a rescue CD?
> >
> > That's the great thing about htree - you don't need to do anything to turn
> > it off. The on-disk format is exactly the same as without htree, and the
> > first time you modify the directory it will clear the per-directory htree
> > flag.
>
> I'll do more testing to see if it fails only on that folder now.
>
> But how do I re-enable htree on the directories (besides an fsck -D) in a
> live system?

You need to re-enable the dir_index feature, and then for directories which
are larger than a block in size you need something like:

mkdir new_dir
mv old_dir/* new_dir
rmdir old_dir
mv new_dir old_dir

The new directory will have htree enabled because it started out at 1 block
in size.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/