All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Andreas Dilger <adilger@dilger.ca>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH 04/18] e2fsck: fix rule-violating lblk->pblk mappings on bigalloc filesystems
Date: Sat, 26 Jul 2014 16:27:28 -0400	[thread overview]
Message-ID: <20140726202728.GM6725@thunk.org> (raw)
In-Reply-To: <C91A6455-139E-4E6B-935F-F00332F76616@dilger.ca>

On Sat, Jul 26, 2014 at 12:02:10AM -0600, Andreas Dilger wrote:
> Wouldn't it be possible to use this information to determine which
> of the inodes sharing a duplicate mapped block is the right one
> and which inode is the bad one?

Yes, although I'm not sure it's worth the effort.  Putting in more
intelligent hueristics for using the metadata checksums will help all
file systems, and not just bigalloc file systems --- and I think it
would be easier.

> On Jul 25, 2014, at 18:34, "Darrick J. Wong" <darrick.wong@oracle.com> wrote:
> 
> As far as I can tell, logical block mappings on a bigalloc filesystem are
> supposed to follow a few constraints:
> 
> * The logical cluster offset must match the physical cluster offset.
> * A logical cluster may not map to multiple physical clusters.
> 
> Since the multiply-claimed block recovery code can be used to fix these
> problems, teach e2fsck to find these transgressions and fix them.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Thanks, applied, but a couple of tips about writing test scripts.

You originally had this:

	../misc/tune2fs -L test_fs $TMPFILE
	../e2fsck/e2fsck -fy $TMPFILE > $OUT
	../e2fsck/e2fsck -fy $TMPFILE >> $OUT
	../e2fsck/e2fsck -fy $TMPFILE >> $OUT

This spits out the version numbers to stderr, which is ugly.  I fixed
up the binary image file to have the test_fs label, and I changed the
lines above to:

	$FSCK -fy $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $OUT
	$FSCK -fy $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
	$FSCK -fy $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT

The advantage of doing things this way is that any errors get captured
in the log file.  Also, if the user has requested valgrind be used,
that gets reflected in the value of $FSCK.

Cheers,

					- Ted

  reply	other threads:[~2014-07-26 20:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=20140726202728.GM6725@thunk.org \
    --to=tytso@mit.edu \
    --cc=adilger@dilger.ca \
    --cc=darrick.wong@oracle.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.