All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] e2fsprogs patchbomb 7/14, part 2
@ 2014-07-26  0:33 Darrick J. Wong
  2014-07-26  0:33 ` [PATCH 01/18] e2fsck: reserve blocks for root/lost+found directory repair Darrick J. Wong
                   ` (17 more replies)
  0 siblings, 18 replies; 46+ messages in thread
From: Darrick J. Wong @ 2014-07-26  0:33 UTC (permalink / raw)
  To: tytso, darrick.wong; +Cc: linux-ext4

Hi all,

Continuing the patchset that I sent last Friday, here are patches to
fix e2fsck failures with filesystems containing the bigalloc and/or
metadata checksumming features.  Like last week, e2fuzz helped me to
find the failures.

The first patch is the 'reserve & repair root' patch from last week,
unchanged from last week but included so it doesn't get lost in the
noise.  The second patch fixes a merge error in -next.

Patches 3 & 5 fix some fairly common errors when allocating or
deallocating blocks within a cluster.  Perhaps the most controversial
bigalloc patch is #4, which uses the duplicate block handler to
enforce that a logical cluster only maps to a single physical cluster,
and that within a cluster, each logical block maps to the same block
within the physical cluster.

Patches 6-10 are largely unchanged from patches 10-14 in the 5/14
patchbomb, though they include suggestions that Lukáš had at that
time.  These patches largely alter e2fsck's behavior regarding
checksums -- allowing the user to specify strict mode (zap anything
with a bad checksum) or regular mode (fix checksum if it passes other
tests), and corrects some mis-handling by other parts of fsck.

Patches 11-18 also fix errors when dealing with FS objects that fail
checksum tests.  Library flag handling, error reporting, inode
re-checking (for regular mode), directory repair, and extent checksum
repair all required minor corrections.

I've tested these e2fsprogs changes against the -next branch as of
7/25.  As I stated in the part 1 introduction, I use several VMs, each
with 32M-1G ramdisks to test with; the test process is "misc/e2fuzz.sh
-B <fuzz> -s <size>", where fuzz is anything from 2 bytes to "0.1%"
of metadata bytes.  Since the bulk of changes to -next in the past 12
days are my own patches, I've only run the `make check' tests and run
e2fuzz a few thousand times to quick-check for errors.

Next week will be e2fsck fixes for extended attribute and inline data
problems.

Comments and questions are, as always, welcome.

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

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2014-07-28 19:32 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-26  0:33 [PATCH 00/18] e2fsprogs patchbomb 7/14, part 2 Darrick J. Wong
2014-07-26  0:33 ` [PATCH 01/18] e2fsck: reserve blocks for root/lost+found directory repair Darrick J. Wong
2014-07-26 19:47   ` Theodore Ts'o
2014-07-28  7:27     ` Darrick J. Wong
2014-07-26  0:33 ` [PATCH 02/18] e2fsck: fix merge error in "clear uninit flag on directory extents" Darrick J. Wong
2014-07-26 20:04   ` Theodore Ts'o
2014-07-26  0:33 ` [PATCH 03/18] e2fsck: perform implied cluster allocations when filling a directory hole Darrick J. Wong
2014-07-26 20:08   ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 04/18] e2fsck: fix rule-violating lblk->pblk mappings on bigalloc filesystems Darrick J. Wong
2014-07-26  6:02   ` Andreas Dilger
2014-07-26 20:27     ` Theodore Ts'o
2014-07-28  8:28       ` Darrick J. Wong
2014-07-28 17:55       ` Darrick J. Wong
2014-07-28 19:32         ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 05/18] e2fsck: during pass1b delete_file, only free a cluster once Darrick J. Wong
2014-07-26 20:30   ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 06/18] dumpe2fs: add switch to disable checksum verification Darrick J. Wong
2014-07-26 20:58   ` Theodore Ts'o
2014-07-28  7:48     ` Darrick J. Wong
2014-07-26  0:34 ` [PATCH 07/18] e2fsck: verify checksums after checking everything else Darrick J. Wong
2014-07-26 20:53   ` Theodore Ts'o
2014-07-28  8:27     ` Darrick J. Wong
2014-07-26  0:34 ` [PATCH 08/18] e2fsck: fix the various checksum error messages Darrick J. Wong
2014-07-26 21:09   ` Theodore Ts'o
2014-07-28  7:57     ` Darrick J. Wong
2014-07-26  0:34 ` [PATCH 09/18] e2fsck: insert a missing dirent tail for checksums if possible Darrick J. Wong
2014-07-26 21:13   ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 10/18] e2fsck: write dir blocks after new inode when reconstructing root/lost+found Darrick J. Wong
2014-07-26 21:18   ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 11/18] libext2/fsck: correctly preserve fs flags when modifying ignore-csum-error flag Darrick J. Wong
2014-07-27 23:27   ` Theodore Ts'o
2014-07-28  8:06     ` Darrick J. Wong
2014-07-26  0:34 ` [PATCH 12/18] e2fsck: toggle checksum verification error reporting appropriately Darrick J. Wong
2014-07-27 23:37   ` Theodore Ts'o
2014-07-28  7:38     ` Darrick J. Wong
2014-07-28 11:41       ` Theodore Ts'o
2014-07-26  0:34 ` [PATCH 13/18] libext2fs: Don't cache inodes that fail checksum verification Darrick J. Wong
2014-07-26  0:35 ` [PATCH 14/18] e2fsck: always recheck an inode checksum failure Darrick J. Wong
2014-07-26  0:35 ` [PATCH 15/18] e2fsck: clear badblocks inode when checksum fails Darrick J. Wong
2014-07-27 23:42   ` Theodore Ts'o
2014-07-26  0:35 ` [PATCH 16/18] e2fsck: leave room for checksum structure when salvaging a directory Darrick J. Wong
2014-07-27 23:45   ` Theodore Ts'o
2014-07-26  0:35 ` [PATCH 17/18] e2fsck: make insert_dirent_tail more robust Darrick J. Wong
2014-07-27 23:48   ` Theodore Ts'o
2014-07-26  0:35 ` [PATCH 18/18] e2fsck: don't offer to fix the checksum of fixed extents Darrick J. Wong
2014-07-27 23:52   ` Theodore Ts'o

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.