[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190406215210.GC18897@mit.edu>
Date: Sat, 6 Apr 2019 17:52:11 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: Andreas Dilger <adilger@...ger.ca>
Cc: linux-ext4@...r.kernel.org, Andreas Dilger <adilger@...mcloud.com>
Subject: Re: [PATCH] mke2fs: allow 64bit feature without extents
On Fri, Mar 22, 2019 at 03:24:27AM -0600, Andreas Dilger wrote:
> From: Andreas Dilger <adilger@...mcloud.com>
>
> The 64bit feature should be allowed without extents to for 32-bit
> metadata_csum checksums to be stored in the group descriptor.
> Change the extents check to check for more than 2^32 blocks instead
> of the 64bit feature flag. This also avoids warnings later if the
> metadata_csum feature is enabled on a filesystem without 64bit.
So what worries me about this change is if extents aren't enabled, and
we do an online (or off-line) resize such that we now have > 2^32
blocks, things are going to get problematic. Even if the resize
operation sets the extent feature (which I don't think it will), the
problem is if you have an existing file which is using indirect
blocks, and you try to extend the file and there is simply no blocks
under the 2^32 cutoff, what then? Some files might get ENOSPC errors
while others will work just fine.
With current versions of e2fsprogs we enable the 64-bit (and
metadata_csum) feature by default, which should avoid all of these
problems. Sure, that's not going to help older file systems --- but
this patch to mke2fs isn't going to help them, either.
It simplifies our test matrix to simply require the extents feature if
the 64-bit feature is desired. I'm not sure I see the value in
relaxing this requirement. Is there a reason why you specifically
want 64bit && !extents && metadata_csum?
- Ted
Powered by blists - more mailing lists