From: Ted Ts'o <tytso@mit.edu>
To: "Darrick J. Wong" <djwong@us.ibm.com>
Cc: linux-ext4@vger.kernel.org
Subject: Collapsing the number of feature flags (was Re: [PATCH v2.3 00/23] ext4: Add metadata checksumming)
Date: Wed, 8 Feb 2012 13:08:47 -0500 [thread overview]
Message-ID: <20120208180847.GA3654@thunk.org> (raw)
In-Reply-To: <20120107082751.21970.84856.stgit@elm3c44.beaverton.ibm.com>
So I've started looking at this patch series, and I'm wondering if it
might be better if we collapse these two feature flags:
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM
and
EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM
To a single feature flag, EXT4_FEATURE_INCOMPAT_METADATA_CSUM, which
also implies EXT4_FEATURE_RO_COMPAT_GDT_CSUM. (So in the future, when
we enable INCOMPAT_CSUM_METADATA, the presense or absence of
EXT4_RO_COMPAT_GDT_CSUM won't matter, and in fact mke2fs will skip
setting that feature flag altogether. Tune2fs could also drop the
GDT_CSUM flag when adding the CSUM_METADATA flag.)
The reasoning behind this is that it simplifies the combinatorics we
need to test, and it also simplifies our code base. In addition, it's
really easy to make tune2fs recalculate the checksums when the feature
flag is set, and reculate the block group checksums using the old
algorithm when the metadata flag is unset. So if someone wants to
mount the file system on a downlevel kernel, it's really not that bad
that this feature is an INCOMPAT feature; we can easily downgrade it
using tune2fs.
In fact, if we wanted to take this to extremes, we could call it
EXT4_FEATURE_INCOMPAT_NEW_METADATA, and then let it imply the
following feature flags as well:
EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER
EXT4_FEATURE_RO_COMPAT_LARGE_FILE
EXT4_FEATURE_RO_COMPAT_HUGE_FILE
EXT4_FEATURE_RO_COMPAT_DIR_NLINK
EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE
EXT4_FEATURE_INCOMPAT_FILETYPE
EXT4_FEATURE_INCOMPAT_FLEX_BG
We can add inline functions in fs/ext4/ext4.h and in
lib/ext2fs/ext2fs.h to make the source code look a bit simpler.
This would help to reduce our testing load, and it would also make the
output of dumpe2fs easier to understand...
- Ted
next prev parent reply other threads:[~2012-02-08 18:08 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-07 8:27 [PATCH v2.3 00/23] ext4: Add metadata checksumming Darrick J. Wong
2012-01-07 8:27 ` [PATCH 01/23] ext4: Create a new BH_Verified flag to avoid unnecessary metadata validation Darrick J. Wong
2012-01-07 8:28 ` [PATCH 02/23] ext4: Change on-disk layout to support extended metadata checksumming Darrick J. Wong
2012-01-07 8:28 ` [PATCH 03/23] ext4: Record the checksum algorithm in use in the superblock Darrick J. Wong
2012-01-07 8:28 ` [PATCH 04/23] ext4: Only call out to crc32c if necessary Darrick J. Wong
2012-01-07 8:28 ` [PATCH 05/23] ext4: Calculate and verify superblock checksum Darrick J. Wong
2012-01-07 8:28 ` [PATCH 06/23] ext4: Calculate and verify inode checksums Darrick J. Wong
2012-01-07 8:28 ` [PATCH 07/23] ext4: Calculate and verify checksums for inode bitmaps Darrick J. Wong
2012-01-07 8:28 ` [PATCH 08/23] ext4: Calculate and verify block bitmap checksum Darrick J. Wong
2012-01-07 8:28 ` [PATCH 09/23] ext4: Verify and calculate checksums for extent tree blocks Darrick J. Wong
2012-01-07 8:28 ` [PATCH 10/23] ext4: Calculate and verify checksums for htree nodes Darrick J. Wong
2012-01-07 8:29 ` [PATCH 11/23] ext4: Calculate and verify checksums of directory leaf blocks Darrick J. Wong
2012-01-07 8:29 ` [PATCH 12/23] ext4: Calculate and verify checksums of extended attribute blocks Darrick J. Wong
2012-01-07 8:29 ` [PATCH 13/23] ext4: Add new feature to make block group checksums use metadata_csum algorithm Darrick J. Wong
[not found] ` <8ED6E1F9-DB56-4D31-BCA8-2A3A8D514BD5@dilger.ca>
2012-02-13 22:28 ` Ted Ts'o
2012-02-29 1:27 ` [RFC] e2fsprogs: Rework metadata_csum/gdt_csum flag handling Darrick J. Wong
2012-02-29 5:40 ` Andreas Dilger
2012-03-03 3:50 ` [RFC v2] " Darrick J. Wong
2012-02-29 1:32 ` [RFC] ext4: Rework metadata_csum/gdt_csum flag handling in kernel Darrick J. Wong
2012-02-29 5:48 ` Andreas Dilger
2012-03-03 3:56 ` [RFC v2] " Darrick J. Wong
2012-01-07 8:29 ` [PATCH 14/23] ext4: Add checksums to the MMP block Darrick J. Wong
2012-01-07 8:29 ` [PATCH 15/23] jbd2: Change disk layout for metadata checksumming Darrick J. Wong
2012-01-07 8:29 ` [PATCH 16/23] jbd2: Enable journal clients to enable v2 checksumming Darrick J. Wong
2012-01-07 8:29 ` [PATCH 17/23] jbd2: Grab a reference to the crc32c driver only when necessary Darrick J. Wong
2012-01-07 8:29 ` [PATCH 18/23] jbd2: Checksum journal superblock Darrick J. Wong
2012-01-07 8:30 ` [PATCH 19/23] jbd2: Checksum revocation blocks Darrick J. Wong
2012-01-07 8:30 ` [PATCH 20/23] jbd2: Checksum descriptor blocks Darrick J. Wong
2012-01-07 8:30 ` [PATCH 21/23] jbd2: Checksum commit blocks Darrick J. Wong
2012-01-07 8:30 ` [PATCH 22/23] jbd2: Checksum data blocks that are stored in the journal Darrick J. Wong
2012-01-07 8:30 ` [PATCH 23/23] ext4/jbd2: Add metadata checksumming to the list of supported features Darrick J. Wong
2012-02-08 18:08 ` Ted Ts'o [this message]
2012-02-09 19:54 ` Collapsing the number of feature flags (was Re: [PATCH v2.3 00/23] ext4: Add metadata checksumming) Darrick J. Wong
2012-02-09 22:49 ` Ted Ts'o
2012-02-10 19:11 ` Andreas Dilger
2012-02-10 21:11 ` Ted Ts'o
2012-02-12 1:38 ` Andreas Dilger
2012-02-12 2:55 ` Ted 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=20120208180847.GA3654@thunk.org \
--to=tytso@mit.edu \
--cc=djwong@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.