From: Diego Calleja <diegocg@gmail.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: Bill Pemberton <wfp5p@viridian.itc.virginia.edu>,
linux-btrfs@vger.kernel.org
Subject: Re: assertion failures
Date: Fri, 26 Feb 2010 21:49:14 +0100 [thread overview]
Message-ID: <201002262149.14718.diegocg@gmail.com> (raw)
In-Reply-To: <20100226190915.GI12841@think>
On Viernes, 26 de Febrero de 2010 20:09:15 Chris Mason escribi=F3:
> My would be the super block, it is updated more often and so more lik=
ely
> to get stuck in the array's cache.
IIRC, this is exactly the same problem that ZFS users have been
hitting. Some users got cheap disks that don't honour barriers
correctly, so their uberblock didn't have the correct data.
They developed an app that tries to rollback transactions to
get the pool into a sane state...I guess that fsck will be able
to do that at some point?
Stupid question from someone who is not a fs dev...it's not possible
to solve this issue by doing some sort of "superblock journaling"?
Since there are several superblock copies you could:
-Modify a secondary superblock copy to point to the tree root block
that still has not been written to disk
-Write whatever tree root block has been COW'ed
-Modify the primary superblock
So in case of these failures, mount code could look in the secondary
superblock copy before failing. Since barriers are not being honoured,
there's still a possibility that the tree root blocks would be written
before the secondary superblock block that was submitted before, but
that problem would be much harder to hit I guess. But maybe the fs code
can not know where the tree root blocks are going to be written before
writting them, and hence it can't generate a valid superblock?
Sorry if all this has not sense at all, I'm just wondering if there's
a way to solve these drive issues without any kind of recovery tools
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-02-26 20:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-24 13:45 assertion failures Bill Pemberton
2010-02-25 0:40 ` Chris Mason
2010-02-25 14:04 ` Bill Pemberton
2010-02-25 18:28 ` Gustavo Alves
2010-02-26 16:13 ` Chris Mason
2010-02-26 16:15 ` Chris Mason
2010-02-26 19:57 ` Gustavo Alves
2010-02-26 21:10 ` Chris Mason
2010-02-26 21:26 ` Gustavo Alves
2010-02-26 16:17 ` Chris Mason
2010-02-26 16:41 ` Bill Pemberton
2010-02-26 17:59 ` Chris Mason
2010-02-26 18:11 ` Bill Pemberton
2010-02-26 19:09 ` Chris Mason
2010-02-26 20:43 ` Bill Pemberton
2010-02-26 20:49 ` Diego Calleja [this message]
2010-02-26 21:08 ` Chris Mason
2010-02-28 3:05 ` Cláudio Martins
2010-02-26 19:11 ` Mike Fedyk
2010-02-26 19:15 ` Chris Mason
2010-02-26 20:45 ` Bill Pemberton
2010-02-26 20:53 ` Chris Mason
2010-02-27 22:56 ` Bill Pemberton
2010-02-26 20:44 ` Bill Pemberton
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=201002262149.14718.diegocg@gmail.com \
--to=diegocg@gmail.com \
--cc=chris.mason@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=wfp5p@viridian.itc.virginia.edu \
/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