2013-09-13 15:40:48

by Alexander Harrowell

[permalink] [raw]
Subject: ext4 recovery, the saga of 16777215 continues

OK, so after updating e2fsprogs and doing a bunch of hacking around, I
was eventually able to find the inode that returns hundreds of MB of
16777215 in the multiply-claimed blocks pass.

Dumping it out with debugfs, the output file reached 28 GB before the
device receiving ran out of space. I thought inodes were of defined
size?


2013-09-14 02:18:21

by Theodore Ts'o

[permalink] [raw]
Subject: Re: ext4 recovery, the saga of 16777215 continues

On Fri, Sep 13, 2013 at 03:40:47PM +0000, Alexander Harrowell wrote:
> OK, so after updating e2fsprogs and doing a bunch of hacking around, I
> was eventually able to find the inode that returns hundreds of MB of
> 16777215 in the multiply-claimed blocks pass.
>
> Dumping it out with debugfs, the output file reached 28 GB before the
> device receiving ran out of space. I thought inodes were of defined
> size?

What do you mean by "dumping it out"? What precise debugfs command
were you using?

stat? dump? something else?

- Ted

2013-09-14 09:25:36

by Alexander Harrowell

[permalink] [raw]
Subject: Re: ext4 recovery, the saga of 16777215 continues

dump_inode 2937950 /media/usbdisk/dump

On Sat, Sep 14, 2013 at 2:18 AM, Theodore Ts'o <[email protected]> wrote:
> On Fri, Sep 13, 2013 at 03:40:47PM +0000, Alexander Harrowell wrote:
>> OK, so after updating e2fsprogs and doing a bunch of hacking around, I
>> was eventually able to find the inode that returns hundreds of MB of
>> 16777215 in the multiply-claimed blocks pass.
>>
>> Dumping it out with debugfs, the output file reached 28 GB before the
>> device receiving ran out of space. I thought inodes were of defined
>> size?
>
> What do you mean by "dumping it out"? What precise debugfs command
> were you using?
>
> stat? dump? something else?
>
> - Ted

2013-09-14 11:42:57

by Theodore Ts'o

[permalink] [raw]
Subject: Re: ext4 recovery, the saga of 16777215 continues

On Sat, Sep 14, 2013 at 09:25:35AM +0000, Alexander Harrowell wrote:
> dump_inode 2937950 /media/usbdisk/dump

That writes the contents of that inode to a disk. So your question of
"inodes having a defined size" doesn't make much sense. An inode is a
fixed size, usually 128 or 256 bytes. But the contents of the inode
(file) is anything up to 16TB....

In general if we're looking at a potentially corrupted file system,
the first thing you want to do is to look at it via the stat command
and make sure it looks at least vaguely sane. You do this via the command
"stat <2937950>".

- Ted