From: Theodore Tso <tytso@MIT.EDU>
To: Christian Kujau <lists@nerdbynature.de>
Cc: linux-ext4@vger.kernel.org
Subject: Re: e2fsck not fixing all corruptions on the first run?
Date: Thu, 13 Mar 2008 18:16:57 -0400 [thread overview]
Message-ID: <20080313221657.GJ28728@mit.edu> (raw)
In-Reply-To: <alpine.DEB.1.00.0803132255230.7433@sheep.housecafe.de>
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
next prev parent reply other threads:[~2008-03-13 22:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-13 18:34 e2fsck not fixing all corruptions on the first run? Christian Kujau
2008-03-13 20:54 ` Theodore Tso
2008-03-13 21:22 ` Christian Kujau
2008-03-13 21:47 ` Theodore Tso
2008-03-13 21:59 ` Christian Kujau
2008-03-13 22:16 ` Theodore Tso [this message]
2008-03-14 7:17 ` Christian Kujau
2008-03-14 3:20 ` [PATCH, E2FSPROGS] e2fsck: Support long symlinks which use extents Theodore Ts'o
2008-03-14 3:20 ` [PATCH, E2FSPROGS] e2fsck: Check for fast symlinks that have EXTENTS_FL set Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080313221657.GJ28728@mit.edu \
--to=tytso@mit.edu \
--cc=linux-ext4@vger.kernel.org \
--cc=lists@nerdbynature.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).