linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] Btrfs fixes
Date: Mon, 21 Nov 2011 20:30:31 -0500	[thread overview]
Message-ID: <20111122013031.GG28259@shiny> (raw)

Hi everyone,

The for-linus branch of the linux-btrfs repo has some important fixes:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus

The most important in the bunch fixes the btrfs cache flushing.  This
one probably explains many of the corruptions that have been reported,
especially on multi-device filesystems.  I had a hard time hitting it
locally, partially because it is much less likely to happen for fsync
based commits and most of my tests used fsyncs to exercise the commit
code.  Ceph users running with -o notreelog were dramatically more
likely to trigger the corruptions.

The problem was that btrfs was triggering cache flushes before the last
copy of the super block, instead of doing them before the first copy.
We also needed to be more careful about getting flushes done to all the
devices in a multi-device FS before writing any of the supers.  To help
verify the new code, I wrote up a writeback-caching elevator, which I
sent posted earlier today for comments/review.

Many thanks to Alexandre Oliva and Arne Jansen for helping nail this
down.

Outside of the cache flushes, we also have a fix from Liu Bo for
corruptions when snapshotting with mount -o inode_cache enabled.

My for-linus branch is still against 3.1, but these were tested on Linus
git as well.

Josef Bacik (3) commits (+90/-42):
    Btrfs: wait on caching if we're loading the free space cache (+81/-41)
    Btrfs: clear pages dirty for io and set them extent mapped (+5/-0)
    Btrfs: sectorsize align offsets in fiemap (+4/-1)

Chris Mason (2) commits (+141/-18):
    Btrfs: remove free-space-cache.c WARN during log replay (+7/-1)
    Btrfs: fix barrier flushes (+134/-17)

Li Zefan (2) commits (+16/-38):
    Btrfs: avoid unnecessary bitmap search for cluster setup (+4/-38)
    Btrfs: fix to search one more bitmap for cluster setup (+12/-0)

Jan Schmidt (1) commits (+4/-4):
    btrfs: mirror_num should be int, not u64

Jeff Mahoney (1) commits (+9/-6):
    btrfs: Fix up 32/64-bit compatibility for new ioctls

Liu Bo (1) commits (+26/-1):
    Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush

Arnd Hannemann (1) commits (+3/-3):
    Btrfs: prefix resize related printks with btrfs:

David Sterba (1) commits (+4/-2):
    btrfs: fix stat blocks accounting

Total: (12) commits (+290/-111)

 fs/btrfs/backref.c          |    2 +-
 fs/btrfs/ctree.c            |   17 +++++-
 fs/btrfs/ctree.h            |    5 +-
 fs/btrfs/disk-io.c          |  147 +++++++++++++++++++++++++++++++++++++-----
 fs/btrfs/extent-tree.c      |  119 +++++++++++++++++++++++------------
 fs/btrfs/extent_io.c        |    9 ++-
 fs/btrfs/extent_io.h        |    2 +-
 fs/btrfs/free-space-cache.c |   63 ++++++++-----------
 fs/btrfs/inode.c            |    6 +-
 fs/btrfs/ioctl.c            |   15 +++--
 fs/btrfs/scrub.c            |    2 +-
 fs/btrfs/transaction.c      |    8 +++
 fs/btrfs/volumes.h          |    6 ++
 13 files changed, 290 insertions(+), 111 deletions(-)

             reply	other threads:[~2011-11-22  1:30 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-22  1:30 Chris Mason [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-01-13 22:01 [GIT PULL] Btrfs fixes Chris Mason
2015-11-05 11:20 fdmanana
2015-11-05 14:59 ` Chris Mason
2015-05-15 19:11 Chris Mason
2015-05-01 14:08 Chris Mason
2015-04-26 13:18 Chris Mason
2015-03-20 16:55 Chris Mason
2015-01-23 18:49 Chris Mason
2015-01-08 18:28 Chris Mason
2014-11-01 16:05 Chris Mason
2014-09-19 19:47 Chris Mason
2013-03-17 12:34 Chris Mason
2013-02-07  0:13 Chris Mason
2013-02-07  0:09 Chris Mason
2013-01-23  0:48 Chris Mason
2013-01-23  1:28 ` Liu Bo
2013-01-23  1:40   ` Chris Mason
2013-01-24 21:52 ` Chris Mason
2013-01-25  3:13   ` Linus Torvalds
2012-10-26 14:19 Chris Mason
2012-05-06 13:35 Chris Mason
2012-04-28 12:27 Chris Mason
2012-01-27 16:34 Chris Mason
2012-01-27 16:31 Chris Mason
2011-12-23 17:24 Chris Mason
2011-12-16 17:53 Chris Mason
2011-12-16 18:20 ` Chris Mason
2011-12-16 18:29 ` nobody
2011-12-08 19:24 Chris Mason
2011-11-11 21:40 Chris Mason
2011-09-19 23:57 Chris Mason
2011-09-20 16:19 ` Sage Weil
2011-07-08 18:55 [GIT PULL] btrfs fixes Chris Mason
2011-07-11 11:31 ` Tarkan Erimer
2010-04-12 20:00 [GIT PULL] Btrfs fixes Chris Mason

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=20111122013031.GG28259@shiny \
    --to=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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).