linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: David Summers <btrfs@summers5913.freeserve.co.uk>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: Honest timeline for btrfsck
Date: Tue, 17 Jan 2012 20:13:57 -0500	[thread overview]
Message-ID: <20120118011357.GO3658@shiny> (raw)
In-Reply-To: <jf42r4$fua$1@dough.gmane.org>

On Tue, Jan 17, 2012 at 03:07:16PM +0000, David Summers wrote:
> On 18/08/11 21:50, Chris Mason wrote:
> >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.
> >
> 
> Just checking my reading on where we are is correct.
> 
> 1&2 have been done?
> 
> Whats the progress on 3&4 - is Chris the only one working on these,
> or are others active?

People have already started picking up #4, fujitsu had some patches in
this direction that we'll keep developing with.

I stepped back to add some directory metadata fixups as well to the
basic fsck tool.  I had thought I could easily do it all from the
kernel, but sometimes the userland side really is easier.

-chris


  reply	other threads:[~2012-01-18  1:13 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
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 [this message]
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=20120118011357.GO3658@shiny \
    --to=chris.mason@oracle.com \
    --cc=btrfs@summers5913.freeserve.co.uk \
    --cc=linux-btrfs@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).