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 updates
Date: Fri, 1 Jun 2012 09:18:38 -0400	[thread overview]
Message-ID: <20120601131838.GL31087@shiny> (raw)

Hi everyone,

My for-linus branch is updated for 3.5:

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

This includes a fairly large change from Josef around data writeback
completion.  Before, the writeback wasn't completed until the metadata
insertions for the extent were done, and this made for fairly large
latency spikes on the last page of each ordered extent.

We already had a separate mechanism for tracking pending metadata
insertions, so Josef just needed to tweak things a little to end
writeback earlier on the page.  Overall it makes us much friendly to
memory reclaim and lowers latencies quite a lot for synchronous IO.

Jan Schmidt has finished some background work required to track btree
blocks as they go through changes in ownership.  It's the missing piece
he needed for both btrfs send/receive and subvolume quotas.  Neither of
those are ready yet, but the new tracking code is included here.  Most
of the time, the new code is off.  It is only used by scrub and other
backref walkers.

Stefan Behrens has added io failure tracking.  This includes counters
for which drives are causing the most trouble so the admin (or an
automated tool) can choose to kick them out.  We're tracking IO errors,
crc errors, and generation checks we do on each metadata block.

RAID5/6 did miss the cut this time because I'm having trouble with
corruptions.  I'll nail it down next week and post as a beta testing
before 3.6

Jan Schmidt (21) commits (+1405/-290):
    Btrfs: bugfix: ignore the wrong key for indirect tree block backrefs (+135/-50)
    Btrfs: add del_ptr and insert_ptr modifications to the tree mod log (+32/-10)
    Btrfs: add inodes before dropping the extent lock in find_all_leafs (+43/-6)
    Btrfs: fix tree mod log rewinded level and rewinding of moved keys (+4/-2)
    Btrfs: use delayed ref sequence numbers for all fs-tree updates (+13/-23)
    Btrfs: add missing spin_lock for insertion into tree mod log (+18/-5)
    Btrfs: don't set for_cow parameter for tree block functions (+20/-20)
    Btrfs: use the tree modification log for backref resolving (+29/-17)
    Btrfs: put all block modifications into the tree mod log (+36/-0)
    Btrfs: tree mod log sanity checks in join_transaction (+18/-0)
    Btrfs: look into the extent during find_all_leafs (+158/-84)
    Btrfs: fs_info variable for join_transaction (+19/-18)
    Btrfs: dummy extent buffers for tree mod log (+76/-7)
    Btrfs: add tree modification log functions (+412/-1)
    Btrfs: bugfix in btrfs_find_parent_nodes (+3/-2)
    Btrfs: move struct seq_list to ctree.h (+7/-5)
    Btrfs: add tree_mod_dont_log helper (+15/-9)
    Btrfs: add tree mod log to fs_info (+14/-0)
    Btrfs: add btrfs_search_old_slot (+317/-4)
    Btrfs: fix tree mod log del_ptr (+7/-6)
    Btrfs: ulist realloc bugfix (+29/-21)

Josef Bacik (13) commits (+330/-322):
    Btrfs: convert the inode bit field to use the actual bit operations (+44/-44)
    Btrfs: check to see if the inode is in the log before fsyncing (+16/-17)
    Btrfs: merge contigous regions when loading free space cache (+41/-0)
    Btrfs: fall back to non-inline if we don't have enough space (+4/-1)
    Btrfs: do not check delalloc when updating disk_i_size (+3/-16)
    Btrfs: do not do filemap_write_and_wait_range in fsync (+6/-5)
    Btrfs: finish ordered extents in their own thread (+164/-191)
    Btrfs: remove useless waiting and extra filemap work (+2/-15)
    Btrfs: fix how we deal with the orphan block rsv (+24/-22)
    Btrfs: use i_version instead of our own sequence (+19/-10)
    Btrfs: fix return code in drop_objectid_items (+2/-0)
    Btrfs: fix compile warnings in extent_io.c (+1/-1)
    Btrfs: cache no acl on new inodes (+4/-0)

Stefan Behrens (7) commits (+985/-174):
    Btrfs: read device stats on mount, write modified ones during commit (+232/-0)
    Btrfs: add device counters for detected IO and checksum errors (+230/-24)
    Btrfs: fix runtime warning in check-integrity check data mode (+22/-3)
    Btrfs: change integrity checker to support big blocks (+415/-146)
    Btrfs: fix false positive in check-integrity on unmount (+1/-1)
    Btrfs: add ioctl to get and reset the device stats (+77/-0)
    Btrfs: set ioprio of scrub readahead to idle (+8/-0)

Wang Sheng-Hui (5) commits (+7/-8):
    Btrfs: remove the useless assignment to *entry in function tree_insert of file extent_io.c (+0/-1)
    Btrfs: fix btrfs_release_extent_buffer_page with the right usage of num_extent_pages (+3/-1)
    btrfs/ctree.c: remove the unnecessary 'return -1;' at the end of bin_search (+2/-4)
    Btrfs: cleanup the comment for clear_state_bit in extent_io.c (+1/-1)
    Btrfs: fix the comment for find_first_extent_bit (+1/-1)

Jim Meyering (3) commits (+32/-44):
    Btrfs: NUL-terminate path buffer in DEV_INFO ioctl result (+4/-2)
    Btrfs: avoid buffer overrun in mount option handling (+26/-41)
    Btrfs: avoid buffer overrun in btrfs_printk (+2/-1)

Liu Bo (3) commits (+28/-30):
    Btrfs: use fastpath in extent state ops as much as possible (+18/-26)
    Btrfs: fix wrong error returned by adding a device (+1/-1)
    Btrfs: do not do balance in readonly mode (+9/-3)

Sergei Trofimovich (1) commits (+40/-5):
    btrfs: allow changing 'thread_pool' size at remount time

Daniel J Blueman (1) commits (+5/-6):
    Fix minor type issues

Dan Carpenter (1) commits (+1/-1):
    Btrfs: cleanup: use consistent lock naming

Asias He (1) commits (+0/-14):
    btrfs: Drop unused function btrfs_abort_devices()

Miao Xie (1) commits (+39/-10):
    Btrfs: fix the same inode id problem when doing auto defragment

Tsutomu Itoh (1) commits (+18/-4):
    Btrfs: return value of btrfs_read_buffer is checked correctly

Total: (58) commits

 fs/btrfs/acl.c              |    4 +
 fs/btrfs/backref.c          |  495 +++++++++++++++++--------
 fs/btrfs/backref.h          |    3 +-
 fs/btrfs/btrfs_inode.h      |   50 ++-
 fs/btrfs/check-integrity.c  |  584 +++++++++++++++++++++--------
 fs/btrfs/ctree.c            |  861 +++++++++++++++++++++++++++++++++++++++++--
 fs/btrfs/ctree.h            |   77 +++-
 fs/btrfs/delayed-inode.c    |    8 +-
 fs/btrfs/delayed-ref.c      |   10 +-
 fs/btrfs/delayed-ref.h      |   24 --
 fs/btrfs/disk-io.c          |   57 ++-
 fs/btrfs/disk-io.h          |    1 -
 fs/btrfs/extent-tree.c      |   23 +-
 fs/btrfs/extent_io.c        |  168 ++++++---
 fs/btrfs/extent_io.h        |    8 +-
 fs/btrfs/file.c             |   76 ++--
 fs/btrfs/free-space-cache.c |   45 ++-
 fs/btrfs/inode.c            |  264 +++++++------
 fs/btrfs/ioctl.c            |   50 ++-
 fs/btrfs/ioctl.h            |   33 ++
 fs/btrfs/ordered-data.c     |  165 ++++-----
 fs/btrfs/ordered-data.h     |   13 +-
 fs/btrfs/print-tree.c       |    3 +
 fs/btrfs/reada.c            |    5 +
 fs/btrfs/scrub.c            |   65 +++-
 fs/btrfs/super.c            |  117 +++---
 fs/btrfs/transaction.c      |   59 ++-
 fs/btrfs/tree-log.c         |   35 +-
 fs/btrfs/ulist.c            |   38 +-
 fs/btrfs/ulist.h            |   15 +-
 fs/btrfs/volumes.c          |  306 ++++++++++++++-
 fs/btrfs/volumes.h          |   52 +++
 fs/btrfs/xattr.c            |    1 +
 33 files changed, 2849 insertions(+), 866 deletions(-)

             reply	other threads:[~2012-06-01 13:18 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-01 13:18 Chris Mason [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-05-18 14:30 [GIT PULL] Btrfs updates 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-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:52   ` Chris Mason
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-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-05-27 15:15 Chris Mason
2010-05-27 17:18 ` 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-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=20120601131838.GL31087@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).