2008-03-13 20:23:22

by Christian Kujau

[permalink] [raw]
Subject: e2fsck -D segfaults in pass 3A

After playing around with e2fsck (today's git of the "pu" branch) a bit
more, I still cannot use -D on this filesystem. I've tried with earlier
version, but it still dumps core in pass 3A (Optimizing directories). I've
compiled e2fsprogs with "CFLAGS="-g" ./configure --enable-htree; make",
too get a few more results when this happens. Running under gdb gives:

(gdb) run -Dfv /dev/md4
Starting program: /opt/e2fsprogs/sbin/e2fsck -Dfv /dev/md4
e2fsck 1.40.7 (28-Feb-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories

Program received signal SIGSEGV, Segmentation fault.
0x08065bb9 in ino_cmp (a=0x8898fe90, b=0x898feb0) at rehash.c:173
173 rehash.c: No such file or directory.
in rehash.c

The full backtrace: http://nerdbynature.de/bits/e2fsprogs.pu/e2fsck-1.40.7-Dfv.log

The filesystem in question has been created in 11/2007 - maybe I missed
some on-disk changes since then and have to recreate the fs?

Thanks,
Christian.
--
BOFH excuse #86:

Runt packets


2008-03-13 20:50:02

by Theodore Ts'o

[permalink] [raw]
Subject: Re: e2fsck -D segfaults in pass 3A

On Thu, Mar 13, 2008 at 09:23:19PM +0100, Christian Kujau wrote:
> After playing around with e2fsck (today's git of the "pu" branch) a bit
> more, I still cannot use -D on this filesystem. I've tried with earlier
> version, but it still dumps core in pass 3A (Optimizing directories). I've
> compiled e2fsprogs with "CFLAGS="-g" ./configure --enable-htree; make", too
> get a few more results when this happens.

Yeah, thanks for pointing that out. Pass3A doesn't deal with
directories stored in extent format yet, and you must have one or more
directories directories in extent format. So e2fsck -D won't work.

This is a bug; I'll work on getting it fixed.

- Ted

2008-03-13 21:24:22

by Christian Kujau

[permalink] [raw]
Subject: Re: e2fsck -D segfaults in pass 3A

On Thu, 13 Mar 2008, Theodore Tso wrote:
> Yeah, thanks for pointing that out. Pass3A doesn't deal with
> directories stored in extent format yet, and you must have one or more
> directories directories in extent format. So e2fsck -D won't work.

Ah, good to know :)

Thanks for your time,
Christian.
--
BOFH excuse #265:

The mouse escaped.