[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080225151339.GB8408@mit.edu>
Date: Mon, 25 Feb 2008 10:13:39 -0500
From: Theodore Tso <tytso@....edu>
To: Andreas Dilger <adilger@....com>
Cc: Eric Sandeen <sandeen@...hat.com>, linux-ext4@...r.kernel.org
Subject: Re: What's cooking in e2fsprogs.git (topics)
On Sun, Feb 24, 2008 at 09:20:50PM -0700, Andreas Dilger wrote:
> On Feb 22, 2008 19:15 -0500, Theodore Ts'o wrote:
> > So before the recent patch were we actually creating long symlinks in
> > extents format? Or were we just setting the flag but still treating
> > them as a block number? If it was the latter, I guess we can put in
> > code into e2fsck to detect that case, and convert it back to a
> > singleton block number.
>
> Eric informed me that the long symlinks were actually stored in extent
> mapped blocks. That is not harmful, because it can only be a single
> block and it will always fit into the inode. The other thing to note
> is that extent mapping is REQUIRED for > 32-bit blocknumbers, so we
> may as well fix e2fsprogs to allow these symlinks to be handled normally.
Well, at least some kernel versions (as of sometime just before
2.6.25, iirc) were storing the long symlink as a single block in
i_block[0], despite EXTENTS_FL being set. Valerie noticed this, and I
confirmed it, as it caused the mainline e2fsck extents support to core
dump. Basically, what this means is that e2fsprogs can't trust
EXTENTS_FL for long symlinks.
But you do raise a good point that we need to support using the
extents format in order to support blocks > 2**32, so we can't just
arbitrary convert all symlinks to the old-style direct block maps.
- 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