lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080313221657.GJ28728@mit.edu>
Date:	Thu, 13 Mar 2008 18:16:57 -0400
From:	Theodore Tso <tytso@....EDU>
To:	Christian Kujau <lists@...dbynature.de>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: e2fsck not fixing all corruptions on the first run?

On Thu, Mar 13, 2008 at 10:59:55PM +0100, Christian Kujau wrote:
> On Thu, 13 Mar 2008, Theodore Tso wrote:
>> Oh, right.  Sorry, I missed that.  I think I know what's going on.
>> The problem is we're not supporting long symlinks which are in extents
>> format.  That's something which we changed, but we're going to change
>> back (since we need it to support filesystems with > 2**32 blocks).
>
> When you say "changed", you mean the on-disk format changed? If so, I could 
> (should?) just mkfs again, since ext4 is in flux anyway and nobody said the 
> on-disk format was frozen. IOW, I don't know if it's wise to put in quirks 
> just because of some old test-environment. When ext4 is (offically) 
> released, everybody will have the "right" format and e2fsck will work as 
> expected, no?

Technically, I guess you could say the on-disk format changed, but as
I mentioned, it's going to change back to the original format.  It's
not a big deal.  The question is for long symlinks, where the symlink
can't fit in the 60 bytes in the i_block[] array, whether the block
number should be encoded as a single integer as i_block[0], as it is
under ext3, or whether it should be encoded as an extents structure.

Right now, the kernel you are using is encoding it as an extents
structure.  E2fsprogs doesn't think that's legal for symlink, so it
cleared them.  The kernel I am running encodes symlinks the same way
as ext3; but we're planning on changing it back to the way your kernel
is currently doing things, as it turns out you need to use the extents
format if the block number is larger than 32 bits.

So it's simply a matter of teaching e2fsprogs how to understand a long
symlink if the block number was encoded as an extent structure.

So no, there's no need to reformat your filesystem.  It's just that
right now, if you create a symlink where the target is larger than 60
bytes, e2fsck will think it is an invalid symlink and delete it.  The
fix for that will be coming shortly, becuase this is clearly very
annoying.

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ