linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Yalonda Gishtaka <yalonda.gishtaka@gmail.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Honest timeline for btrfsck
Date: Thu, 18 Aug 2011 16:50:08 -0400	[thread overview]
Message-ID: <1313700115-sup-2457@shiny> (raw)
In-Reply-To: <loom.20110818T030824-742@post.gmane.org>

Excerpts from Yalonda Gishtaka's message of 2011-08-17 21:09:37 -0400:
> Chris Mason <chris.mason <at> oracle.com> writes:
> 
> > 
> > Aside from making sure the kernel code is stable, btrfsck is all I'm
> > working on right now.  I do expect a release in the next two weeks that
> > can recover your data (and many others).
> > 
> > Thanks,
> > Chris
> > --
> 
> 
> Chris,
> 
> We're all on the edge of our seats.  Can you provide an updated ETA on the 
> release of the first functional btrfsck tool?  No pressure or anything ;)

Hi everyone,

I've been working non-stop on this.  Currently fsck has four parts:

1) mount -o recovery mode.  I've posted smaller forms of these patches
in the past that bypass log tree replay.  The new versions have code to
create stub roots for trees that can't be read (like the extent
allocation tree) and will allow the mount to proceed.

2) fsck that scans for older roots.  This takes advantage of older
copies of metadata to look for consistent tree roots on disk.  The
downside is that it is currently very slow.  I'm trying to speed it up
by limiting the search to only the metadata block groups and a few other
tricks.

3) fsck that fixes the extent allocation tree and the chunk tree.  This
is where I've been spending most of my time.  The problem is that it
tends to recover some filesystems and badly break others.  While I'm
fixing up the corner cases that work poorly, I'm adding an undo log to
the fsck code so that you can get the FS back into its original state if
you don't like the result of the fsck.

4) The rest of the corruptions can be dealt with fairly well from the
kernel.  I have a series of patches to make the extent allocation tree
less strict about reference counts and other rules, basically allowing
the FS to limp along instead of crash.

These four things together are basically my minimal set of features
required for fedora and our own internal projects at Oracle to start
treating us as production filesystem.

There are always bugs to fix, and I have #1 and #2 mostly ready.  I had
hoped to get #1 out the door before I left on vacation and I still might
post it tonight.

-chris

  reply	other threads:[~2011-08-18 20:50 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03  6:57 Honest timeline for btrfsck Erik Jensen
2011-08-03  9:09 ` Jan Schmidt
2011-08-03 20:53 ` Chris Mason
2011-08-15 14:22   ` Francesco Riosa
2011-08-17 15:19   ` Dave
2011-08-18  1:09   ` Yalonda Gishtaka
2011-08-18 20:50     ` Chris Mason [this message]
2011-08-18 21:22       ` Hugo Mills
2011-08-26  0:39         ` Yalonda Gishtaka
2011-08-21 13:58       ` Maciej Marcin Piechotka
2011-08-25 15:06       ` Michael Cronenworth
2011-09-01 19:14         ` Michael Cronenworth
2011-09-01 20:20           ` Hugo Mills
2011-09-01 20:24             ` Michael Cronenworth
2011-09-01 20:34               ` Hugo Mills
2011-09-10 10:09                 ` Martin Steigerwald
2011-09-13 18:01                   ` Jeff Putney
2011-10-05  6:16                     ` Chris Mason
2011-10-05 13:59                       ` Jeff Putney
2011-10-05 14:58                         ` Chris Mason
2011-10-06 15:31                           ` Jeff Putney
2011-10-06 20:30                             ` Andi Kleen
2011-10-06 20:33                               ` Jeff Mahoney
2011-10-06 20:56                               ` Francesco Riosa
2011-10-07 14:50                                 ` Josef Bacik
2011-10-07 15:22                                   ` Dave
2011-10-11 21:21                                   ` Francesco Riosa
2011-10-12 13:53                                     ` Josef Bacik
2011-10-13 12:57                                       ` Francesco Riosa
2011-10-13 13:02                                         ` Josef Bacik
2011-10-06 20:52                             ` Randy Barlow
2011-10-06 23:20                             ` Yalonda Gishtaka
2011-10-06 23:29                               ` Chris Samuel
2011-10-07  4:30                               ` Roman Mamedov
2011-10-07  2:25                             ` Chester
2011-10-07 19:10                               ` Asdo
2011-10-07 19:29                                 ` cwillu
2011-10-07 20:19                                 ` Diego Calleja
2011-10-08 21:13                                   ` Asdo
2011-10-09  1:19                                     ` Fajar A. Nugraha
2011-10-07 20:50                                 ` Helmut Hullen
2011-10-10 12:59                                 ` Chris Mason
2011-10-07  2:50                             ` Chris Mason
2011-10-07  4:45                               ` Jeff Mahoney
2011-10-07 13:40                               ` Jeff Putney
2011-10-07 14:48                                 ` Josef Bacik
2011-10-07 15:58                                   ` Jeff Putney
2011-10-07 16:08                                     ` Josef Bacik
2011-10-07 17:07                                       ` Jeff Putney
2011-10-07 18:23                                         ` cwillu
2011-10-07 21:16                                           ` Jeff Putney
2011-10-10 12:55                                     ` Chris Mason
2011-10-13 11:28                                   ` Chris Samuel
2011-10-13 11:37                                     ` Hugo Mills
2011-10-07 15:39                               ` Mike
2011-10-07 17:27                                 ` Gour-Gadadhara Dasa
2011-10-12 14:41                                   ` Martin Steigerwald
2011-10-12 18:57                                     ` Jeff Putney
2011-10-12 19:53                                       ` Martin Steigerwald
2011-10-12 22:47                                         ` Jeff Putney
2011-10-13  5:56                                           ` Jeff Mahoney
2011-10-13 15:51                                             ` Jeff Putney
2011-10-17 10:49                                               ` Chris Samuel
2011-10-31 10:53                       ` David Summers
2011-11-30 10:19                         ` Clemens Eisserer
2011-12-02 20:05                           ` Jeff Putney
2012-01-06 23:03                       ` Danny Piccirillo
2011-09-09 23:01           ` Yalonda Gishtaka
2011-09-23 13:51       ` Erik Jensen
2011-09-27 14:42       ` Jeff Putney
2011-09-27 18:00         ` Clemens Eisserer
2011-10-04 21:20           ` Jeff Putney
2012-01-17 15:07       ` David Summers
2012-01-18  1:13         ` Chris Mason
2012-03-28  6:15           ` Danny Piccirillo
2012-03-28  9:36             ` Duncan

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=1313700115-sup-2457@shiny \
    --to=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=yalonda.gishtaka@gmail.com \
    /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).