All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-btrfs@vger.kernel.org,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-fsdevel@vger.kernel.org
Subject: [GIT PULL] Btrfs updates
Date: Thu, 27 May 2010 11:15:15 -0400	[thread overview]
Message-ID: <20100527151515.GA3835@think> (raw)

Hi everyone,

The master branch of the btrfs-unstable tree:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

Has the first round of btrfs updates for 2.6.35-rc.  I still have some
pending fixes and patches queued up from other people, but this pull
request has the two major features for this release.

First we've got a large ENOSPC improvement from Yan Zheng.  He hit on
all the difficult corners including space balancing, drive management,
fsync logging and many others.  This has been in the works for sometime
and it has held up very well in testing.

The second batch is O_DIRECT work from Josef Bacik.  We've had a few
different iterations on ENOSPC floating on the btrfs list, and this one
takes a much less complex road by hooking into the generic
fs/direct-io.c code.  Josef added a hook for bio submission to
fs/direct-io.c so that we could do proper block number transaction and
properly do multi-device IO.

There are small changes in here to fs/direct-io.c, mm/filemap.c and
include/linux/fs.h.  These have been sent out for review a few times and
commented on.  The filemap.c change allows O_DIRECT reads to fall back
to buffered IO, which we need to support compression and do checksumming
IOs < 1 page.

My commits here are just integrating the two and fixing a few bugs in
the result.

Zheng Yan (13) commits (+4076/-2679):
    Btrfs: Integrate metadata reservation with start_transaction (+678/-528)
    Btrfs: Update metadata reservation for delayed allocation (+232/-415)
    Btrfs: Shrink delay allocated space in a synchronized (+88/-121)
    Btrfs: Introduce contexts for metadata reservation (+853/-385)
    Btrfs: Link block groups of different raid types (+121/-55)
    Btrfs: Metadata ENOSPC handling for balance (+1163/-747)
    Btrfs: Metadata ENOSPC handling for tree log (+156/-128)
    Btrfs: Metadata reservation for orphan inodes (+365/-66)
    Btrfs: Pre-allocate space for data relocation (+92/-45)
    Btrfs: Introduce global metadata reservation (+241/-76)
    Btrfs: Fix block generation verification race (+1/-1)
    Btrfs: Kill allocate_wait in space_info (+58/-76)
    Btrfs: Kill init_btrfs_i() (+28/-36)

Chris Mason (9) commits (+314/-80):
    Btrfs: fix preallocation and nodatacow checks in O_DIRECT (+140/-16)
    Btrfs: move O_DIRECT space reservation to btrfs_direct_IO (+8/-6)
    Btrfs: don't walk around with task->state != TASK_RUNNING (+4/-3)
    Btrfs: use async helpers for DIO write checksumming (+52/-17)
    Btrfs: add more error checking to btrfs_dirty_inode (+13/-2)
    Btrfs: avoid ENOSPC errors in btrfs_dirty_inode (+11/-3)
    Btrfs: rework O_DIRECT enospc handling (+49/-30)
    Btrfs: drop verbose enospc printk (+2/-0)
    Btrfs: allow unaligned DIO (+35/-3)

Josef Bacik (5) commits (+829/-134):
    direct-io: add a hook for the fs to provide its own submit_bio function (+45/-8)
    fs: allow short direct-io reads to be completed via buffered IO (+31/-5)
    direct-io: do not merge logically non-contiguous requests (+18/-2)
    Btrfs: add basic DIO read/write support (+631/-36)
    Btrfs: do aio_write instead of write (+104/-83)

Total: (27) commits

 fs/btrfs/extent-tree.c  | 2317 ++++++++++++++++++++++++++++--------------------
 fs/btrfs/relocation.c   | 1991 +++++++++++++++++++++++++----------------
 fs/btrfs/inode.c        | 1797 +++++++++++++++++++++++++++++--------
 fs/btrfs/file.c         |  304 +++---
 fs/btrfs/tree-log.c     |  241 +++-
 fs/btrfs/transaction.c  |  232 +++-
 fs/btrfs/ioctl.c        |  206 ++--
 fs/btrfs/disk-io.c      |  171 +--
 fs/btrfs/ctree.h        |  163 ++-
 fs/btrfs/ctree.c        |  109 +-
 fs/btrfs/delayed-ref.c  |  101 --
 fs/btrfs/extent_io.c    |   85 -
 fs/btrfs/ordered-data.c |   82 +
 fs/direct-io.c          |   62 +
 mm/filemap.c            |   36 
 fs/btrfs/super.c        |   30 
 fs/btrfs/file-item.c    |   28 
 fs/btrfs/inode-item.c   |   27 
 fs/btrfs/transaction.h  |   24 
 fs/btrfs/root-tree.c    |   23 
 fs/btrfs/volumes.c      |   17 
 fs/btrfs/extent_io.h    |   14 
 fs/btrfs/xattr.c        |   12 
 include/linux/fs.h      |   11 
 fs/btrfs/ordered-data.h |    9 
 fs/btrfs/tree-defrag.c  |    7 
 fs/btrfs/disk-io.h      |    4 
 fs/btrfs/delayed-ref.h  |    3 
 fs/btrfs/btrfs_inode.h  |    3 
 fs/btrfs/tree-log.h     |    2 
 fs/btrfs/async-thread.c |    1 
 31 files changed, 5219 insertions(+), 2893 deletions(-)

             reply	other threads:[~2010-05-27 15:15 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-27 15:15 Chris Mason [this message]
2010-05-27 17:18 ` [GIT PULL] Btrfs updates Linus Torvalds
2010-05-27 17:32   ` Chris Mason
2010-05-27 17:47     ` Linus Torvalds
2010-06-02  2:59 ` Miao Xie
2010-09-12 12:38 ` Felipe Contreras
2010-09-12 12:38   ` Felipe Contreras
2010-09-12 12:38   ` Felipe Contreras
  -- strict thread matches above, loose matches on Subject: below --
2013-05-18 14:30 Chris Mason
2013-03-29 17:47 Chris Mason
2013-03-09  0:38 Chris Mason
2013-02-16  1:55 Chris Mason
2012-12-17 21:44 Chris Mason
2012-12-19 18:09 ` Roy Sigurd Karlsbakk
2012-12-19 19:07   ` Hugo Mills
2012-12-17 21:28 Chris Mason
2012-08-29 16:01 Chris Mason
2012-07-05 19:55 Chris Mason
2012-06-21 15:47 Chris Mason
2012-06-15 18:09 Chris Mason
2012-06-15 23:57 ` Linus Torvalds
2012-06-16  0:21   ` Chris Mason
2012-06-01 13:18 Chris Mason
2012-04-13 13:38 Chris Mason
2012-04-16  1:19 ` Tsutomu Itoh
2012-03-10  2:01 Chris Mason
2012-02-24 16:41 Chris Mason
2011-12-01 15:39 Chris Mason
2011-12-05  8:10 ` Miao Xie
2011-12-05 13:14   ` Chris Mason
2011-12-05 14:08     ` David Sterba
2011-12-06  3:25     ` Miao Xie
2011-08-18 18:04 Chris Mason
2011-08-18 21:51 ` Sage Weil
2011-08-20 14:01   ` Chris Mason
2011-07-27 22:46 Chris Mason
2011-06-27 18:15 Chris Mason
2011-06-20  1:12 Chris Mason
2011-06-12 11:57 Chris Mason
2011-06-12 18:08 ` Linus Torvalds
2011-06-13  1:02 ` Andi Kleen
2011-06-13  1:02   ` Andi Kleen
2011-06-13  1:52   ` Chris Mason
2011-06-13  1:52     ` Chris Mason
2011-06-13  2:05   ` Li Zefan
2011-06-13  2:05     ` Li Zefan
2011-06-04 14:37 Chris Mason
2011-05-27 19:55 Chris Mason
2011-05-27 21:44 ` Chester
2011-05-27 21:44   ` Chester
2011-05-15 14:47 Chris Mason
2011-05-15 15:41 ` kehon
2011-04-26 14:24 Chris Mason
2011-04-18 14:26 Chris Mason
2011-02-15  3:49 Chris Mason
2011-02-07 20:12 Chris Mason
2011-02-08 20:05 ` Helmut Hullen
2011-01-17 21:13 Chris Mason
2011-01-18 10:14 ` Felix Blanke
2011-01-18 15:22   ` C Anthony Risinger
2011-01-18 17:56     ` Mitch Harder
2011-01-18 18:51       ` C Anthony Risinger
2011-01-19  9:15     ` Spelic
2011-01-22 23:41       ` Clemens Eisserer
2011-01-22 23:53         ` cwillu
2011-01-18 18:55   ` Goffredo Baroncelli
2011-03-09 22:01 ` Diego Calleja
2010-12-14  1:54 Chris Mason
2010-04-05 19:36 Chris Mason
2010-04-06 15:40 ` Chris Mason
2010-03-15 19:18 Chris Mason
2010-03-16 21:01 ` Chris Mason
2010-03-18 16:59   ` Chris Mason
2009-10-15  0:06 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=20100527151515.GA3835@think \
    --to=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.