linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Y. Ts'o" <tytso@mit.edu>
To: Jaco Kroon <jaco@uls.co.za>
Cc: Andreas Dilger <adilger@dilger.ca>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: e2fsck fails with unable to set superblock
Date: Wed, 29 Jan 2020 15:50:49 -0500	[thread overview]
Message-ID: <20200129205049.GA303030@mit.edu> (raw)
In-Reply-To: <7cf0c5cc-7679-41f4-c8e4-e6d79cb88d5f@uls.co.za>

On Wed, Jan 29, 2020 at 06:35:41AM +0200, Jaco Kroon wrote:
> Hi,
> 
> Inode 181716301 block 33554947 conflicts with critical metadata,
> skipping block checks.
> 
> So the critical block stuff I'm guessing can be expected since a bunch
> of those tree structures probably got zeroed too.

It's possible that this was caused by the tree structures getting
written with garbage (33554947 is not zero, so it's not the extent
tree structure getting zeroed, by definition).  If metadata checksums
are enabled, then the kernel would notice (and flag them with EXT4-fs
error reports) if extent trees were not correctly set up.

Another possibility is that hueristics you used for guessing how to
recontrust the block group discripts were incorrectly.  Note that if
the file system has been grown, using on-line or off-line resize2fs,
the results may not be identical to how the block groups laid out by
mke2fs would have done things.  So trying to use the existing pattern
of block group descriptors to reconstruct missing ones is fraught with
potential problems.

If the file system has never been resized, and if you have exactly the
same version of e2fsprogs used to initially create the file system,
and if you have the exact same version of /etc/mke2fs.conf, and the
exact same command-line options to mke2fs, you might be able to use
"mke2fs -S" (see the mke2fs manpage) to rewrite the superblock and
block group descriptors.  But if any of the listed assumptions can't
be assured, it's a dangerous thing to do.

> Another idea is to use debugfs to mark inode 181716301 as deleted, but
> I'm not sure that's safe at this stage?

Well, you'll lose whatever was in that inode, but it's more likely
that the problem is that if the block group descriptors are incorret,
you'll cause even more damage.

Did you make a full image backup of the good disks you can revert any
experiments that you might try?

Good look,

					- Ted

P.S.  For future reference, please take a look at the man page of
e2image for how you can back up the ext4's critical metadata blocks.


  parent reply	other threads:[~2020-01-29 20:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-26 10:21 e2fsck fails with unable to set superblock Jaco Kroon
2020-01-26 20:37 ` Jaco Kroon
2020-01-26 21:45   ` Andreas Dilger
     [not found]     ` <90b76473-8ca5-e50a-6c8c-31ea418df7ed@uls.co.za>
     [not found]       ` <ebc2dd95-1020-1f6c-f435-f53cf907f9e6@uls.co.za>
2020-01-27 23:15         ` Andreas Dilger
2020-01-28 12:53           ` Jaco Kroon
2020-01-28 21:12             ` Jaco Kroon
2020-01-29  4:35               ` Jaco Kroon
2020-01-29 20:00                 ` Andreas Dilger
2020-01-30 10:55                   ` *** SPAM *** " Jaco Kroon
2020-01-29 20:50                 ` Theodore Y. Ts'o [this message]
2020-01-30 10:55                   ` Jaco Kroon

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=20200129205049.GA303030@mit.edu \
    --to=tytso@mit.edu \
    --cc=adilger@dilger.ca \
    --cc=jaco@uls.co.za \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).