All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <clm@fb.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
Date: Fri, 6 Nov 2015 13:44:48 -0500	[thread overview]
Message-ID: <20151106184448.GA26661@ret.masoncoding.com> (raw)

Hi Linus,

Please pull my for-linus-4.4 branch:

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

My branch was based on 4.3-rc5, and it ended up with a minor conflict
against the btrfs changes sent in for a later rc.  I put a sample merge
resolution up here:

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

The only non-obvious part of all this is in fs/btrfs/volumes.h.  Both
sides of the merge ended up creating the BTRFS_BALANCE_ARGS_MASK
definition, which was my fault (sorry) for letting a duplicate patch in
the mix.  When you merge, please keep the longer of the two definitions,
since we added to it later in the for-linus-4.4 branch.

I'm happy to redo things merged with 4.3-final if you don't want to
bother with this, sorry for the hassle.

On to the fun part, we have a lot of subvolume quota improvements in here,
along with big piles of cleanups from Dave Sterba and Anand Jain and
others.

Josef pitched in a batch of allocator fixes based on production use here
at FB.  We found that mount -o ssd_spread greatly improved our
performance on hardware raid5/6, but it exposed some CPU bottlenecks in
the allocator.  These patches make a huge difference.

Qu Wenruo (24) commits (+1031/-375):
    btrfs: extent-tree: Add new version of btrfs_check_data_free_space and btrfs_free_reserved_data_space. (+79/-9)
    btrfs: extent-tree: Switch to new check_data_free_space and free_reserved_data_space (+27/-19)
    btrfs: qgroup: Avoid calling btrfs_free_reserved_data_space in clear_bit_hook (+22/-12)
    btrfs: delayed_ref: Add new function to record reserved space into delayed ref (+43/-0)
    btrfs: extent-tree: Add new version of btrfs_delalloc_reserve/release_space (+61/-0)
    btrfs: extent_io: Introduce needed structure for recoding set/clear bits (+12/-0)
    btrfs: qgroup: Introduce functions to release/free qgroup reserve data (+62/-0)
    btrfs: extent-tree: Switch to new delalloc space reserve and release (+38/-25)
    btrfs: delayed_ref: release and free qgroup reserved at proper timing (+34/-4)
    btrfs: qgroup: Fix a race in delayed_ref which leads to abort trans (+32/-21)
    btrfs: extent_io: Introduce new function clear_record_extent_bits() (+42/-11)
    btrfs: qgroup: Fix a rebase bug which will cause qgroup double free (+0/-4)
    btrfs: extent_io: Introduce new function set_record_extent_bits (+56/-18)
    btrfs: qgroup: Introduce new functions to reserve/free metadata (+48/-0)
    btrfs: qgroup: Don't copy extent buffer to do qgroup rescan (+16/-10)
    btrfs: qgroup: Add new trace point for qgroup data reserve (+130/-2)
    btrfs: qgroup: Introduce btrfs_qgroup_reserve_data function (+52/-0)
    btrfs: fallocate: Add support to accurate qgroup reserve (+117/-44)
    btrfs: qgroup: Check if qgroup reserved space leaked (+34/-0)
    btrfs: qgroup: Cleanup old inaccurate facilities (+60/-156)
    btrfs: qgroup: Add handler for NOCOW and inline (+21/-1)
    btrfs: qgroup: Use new metadata reservation. (+13/-36)
    btrfs: Fix a data space underflow warning (+8/-3)
    btrfs: Add handler for invalidate page (+24/-0)

David Sterba (17) commits (+393/-112):
    btrfs: introduce ratelimited _in_rcu variants of message printing functions (+38/-0)
    btrfs: remove waitqueue_active check from btrfs_rm_dev_replace_unblocked (+1/-2)
    btrfs: add balance filters limits, stripes and usage to supported mask (+4/-1)
    btrfs: comment the rest of implicit barriers before waitqueue_active (+22/-0)
    btrfs: introduce ratelimited variants of message printing functions (+21/-0)
    btrfs: switch message printers to ratelimited _in_rcu variants (+16/-16)
    btrfs: introduce _in_rcu variants of message printing functions (+29/-0)
    btrfs: extend balance filter usage to take minimum and maximum (+60/-4)
    btrfs: extend balance filter limit to take minimum and maximum (+67/-3)
    btrfs: add barrier for waitqueue_active in clear_btree_io_tree (+6/-0)
    btrfs: add comments to barriers before waitqueue_active (+16/-2)
    btrfs: switch message printers to ratelimited variants (+31/-33)
    btrfs: check unsupported filters in balance arguments (+13/-0)
    btrfs: switch message printers to _in_rcu variants (+27/-27)
    btrfs: remove extra barrier before waitqueue_active (+6/-2)
    btrfs: comment waitqueue_active implied by locks (+11/-1)
    btrfs: switch more printks to our helpers (+25/-21)

Anand Jain (14) commits (+205/-184):
    Btrfs: __btrfs_std_error() logic should be consistent w/out CONFIG_PRINTK defined (+5/-22)
    Btrfs: use BTRFS_ERROR_DEV_MISSING_NOT_FOUND when missing device is not found (+2/-4)
    Btrfs: kernel operation should come after user input has been verified (+13/-13)
    Btrfs: enhance btrfs_scratch_superblock to scratch all superblocks (+27/-13)
    Btrfs: rename btrfs_kobj_add_device to btrfs_sysfs_add_device_link (+5/-5)
    Btrfs: rename btrfs_sysfs_remove_one to btrfs_sysfs_remove_mounted (+5/-5)
    Btrfs: rename btrfs_kobj_rm_device to btrfs_sysfs_rm_device_link (+8/-8)
    Btrfs: add btrfs_read_dev_one_super() to read one specific SB (+35/-20)
    Btrfs: SB read failure should return EIO for __bread failure (+19/-7)
    Btrfs: rename btrfs_sysfs_add_one to btrfs_sysfs_add_mounted (+3/-3)
    Btrfs: consolidate btrfs_error() to btrfs_std_error() (+26/-33)
    Btrfs: don't log error from btrfs_get_bdev_and_sb (+0/-1)
    Btrfs: add helper for closing one device (+37/-30)
    Btrfs: rename super_kobj to fsid_kobj (+20/-20)

Josef Bacik (12) commits (+468/-132):
    Btrfs: don't keep trying to build clusters if we are fragmented (+82/-24)
    Btrfs: don't continue setting up space cache when enospc (+20/-0)
    Btrfs: fix prealloc under heavy fragmentation conditions (+9/-0)
    Btrfs: change how we wait for pending ordered extents (+60/-64)
    Btrfs: don't do extra bitmap search in one bit case (+15/-13)
    Btrfs: keep track of max_extent_size per space_info (+34/-1)
    Btrfs: keep track of largest extent in bitmaps (+39/-1)
    Btrfs: cut down on loops through the allocator (+36/-3)
    Btrfs: add a flags field to btrfs_transaction (+16/-18)
    Btrfs: don't loop in allocator for space cache (+1/-1)
    Btrfs: add fragment=* debug mount option (+150/-7)
    Btrfs: fix qgroup sanity tests (+6/-0)

Alexandru Moise (8) commits (+30/-46):
    btrfs: use a single if() statement for one outcome in get_block_rsv() (+3/-7)
    btrfs: declare rsv_count as unsigned int instead of int (+1/-1)
    btrfs: change num_items type from u64 to unsigned int (+8/-6)
    btrfs: cleanup btrfs_balance profile validity checks (+12/-9)
    btrfs: trimming some start_transaction() code away (+1/-14)
    btrfs: memset cur_trans->delayed_refs to zero (+2/-6)
    btrfs: Fixed dsize and last_off declarations (+2/-2)
    btrfs: Fixed declaration of old_len (+1/-1)

Filipe Manana (7) commits (+583/-220):
    Btrfs: fix file corruption and data loss after cloning inline extents (+152/-43)
    Btrfs: send, fix file corruption due to incorrect cloning operations (+173/-27)
    Btrfs: fix regression running delayed references when using qgroups (+44/-134)
    Btrfs: fix double range unlock of hole region when reading page (+6/-2)
    Btrfs: fix hole punching when using the no-holes feature (+13/-0)
    Btrfs: fix truncation of compressed and inlined extents (+68/-14)
    Btrfs: fix regression when running delayed references (+127/-0)

Byongho Lee (4) commits (+55/-56):
    btrfs: compress: put variables defined per compress type in struct to make cache friendly (+48/-46)
    btrfs: replace unnecessary list_for_each_entry_safe to list_for_each_entry (+1/-2)
    btrfs: cleanup iterating over prop_handlers array (+6/-7)
    btrfs: remove unnecessary list_del (+0/-1)

Zhao Lei (3) commits (+125/-98):
    btrfs: use btrfs_raid_array for btrfs_get_num_tolerated_disk_barrier_failures() (+30/-13)
    btrfs: use btrfs_raid_array in btrfs_reduce_alloc_profile (+22/-26)
    btrfs: Move btrfs_raid_array to public (+73/-59)

Luis de Bethencourt (2) commits (+7/-5):
    btrfs: check-integrity: Fix returned errno codes (+2/-2)
    btrfs: reada: Fix returned errno code (+5/-3)

chandan (1) commits (+6/-1):
    Btrfs: find_free_extent: Do not erroneously skip LOOP_CACHING_WAIT state

Liu Bo (1) commits (+4/-4):
    Btrfs: move kobj stuff out of dev_replace lock range

Shan Hai (1) commits (+0/-3):
    btrfs/file.c: remove an unsed varialbe first_index

Chris Mason (1) commits (+3/-5):
    btrfs: fix use after free iterating extrefs

Robin Ruede (1) commits (+8/-2):
    btrfs: fix resending received snapshot with parent

Geliang Tang (1) commits (+1/-1):
    btrfs: fix a comment typo

Jiri Kosina (1) commits (+1/-0):
    btrfs: clear PF_NOFREEZE in cleaner_kthread()

Gabríel Arthúr Pétursson (1) commits (+37/-2):
    btrfs: add balance filter for stripes

Chandan Rajendra (1) commits (+2/-2):
    Btrfs: btrfs_submit_bio_hook: Use btrfs_wq_endio_type values instead of integer constants

Total: (100) commits (+2959/-1248)

 fs/btrfs/backref.c                |  14 +-
 fs/btrfs/check-integrity.c        |   8 +-
 fs/btrfs/compression.c            |  97 ++++---
 fs/btrfs/ctree.c                  |  10 +-
 fs/btrfs/ctree.h                  | 180 ++++++++++--
 fs/btrfs/delayed-inode.c          |   4 +
 fs/btrfs/delayed-ref.c            | 190 +++++++++++--
 fs/btrfs/delayed-ref.h            |  23 +-
 fs/btrfs/dev-replace.c            |  55 ++--
 fs/btrfs/disk-io.c                | 166 ++++++-----
 fs/btrfs/disk-io.h                |   2 +
 fs/btrfs/extent-tree.c            | 572 ++++++++++++++++++++++++++++----------
 fs/btrfs/extent_io.c              | 155 ++++++++---
 fs/btrfs/extent_io.h              |  19 ++
 fs/btrfs/file.c                   | 228 ++++++++++-----
 fs/btrfs/free-space-cache.c       |  79 ++++--
 fs/btrfs/free-space-cache.h       |   1 +
 fs/btrfs/inode-item.c             |   2 +-
 fs/btrfs/inode-map.c              |   6 +-
 fs/btrfs/inode.c                  | 194 ++++++++++---
 fs/btrfs/ioctl.c                  | 285 +++++++++++--------
 fs/btrfs/locking.c                |  12 +
 fs/btrfs/ordered-data.c           |  70 ++++-
 fs/btrfs/ordered-data.h           |   2 +
 fs/btrfs/props.c                  |  13 +-
 fs/btrfs/qgroup.c                 | 229 +++++++++++++--
 fs/btrfs/qgroup.h                 |  31 ++-
 fs/btrfs/raid56.c                 |   6 +-
 fs/btrfs/reada.c                  |   8 +-
 fs/btrfs/relocation.c             |  26 +-
 fs/btrfs/root-tree.c              |  11 +-
 fs/btrfs/scrub.c                  |  42 +--
 fs/btrfs/send.c                   | 212 ++++++++++++--
 fs/btrfs/super.c                  |  57 ++--
 fs/btrfs/sysfs.c                  |  52 ++--
 fs/btrfs/sysfs.h                  |   4 +-
 fs/btrfs/tests/free-space-tests.c |  22 +-
 fs/btrfs/transaction.c            | 129 +++------
 fs/btrfs/transaction.h            |  20 +-
 fs/btrfs/tree-log.c               |  24 +-
 fs/btrfs/volumes.c                | 427 ++++++++++++++++++----------
 fs/btrfs/volumes.h                |  24 +-
 include/trace/events/btrfs.h      | 113 ++++++++
 include/uapi/linux/btrfs.h        |  31 ++-
 44 files changed, 2783 insertions(+), 1072 deletions(-)

             reply	other threads:[~2015-11-06 18:44 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-06 18:44 Chris Mason [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-06-10 13:00 [GIT PULL] Btrfs Chris Mason
2017-05-09 17:56 Chris Mason
2017-05-09 18:01 ` Chris Mason
2017-04-28  0:26 Chris Mason
2017-04-14 18:28 Chris Mason
2017-03-31 21:05 Chris Mason
2017-03-23 15:09 Chris Mason
2017-03-02 20:19 Chris Mason
2017-02-25  0:56 Chris Mason
2017-02-11 13:18 Chris Mason
2017-01-27 19:37 Chris Mason
2016-12-16 17:01 Chris Mason
2016-11-04 17:28 Chris Mason
2016-10-28 14:08 Chris Mason
2016-10-14 20:31 Chris Mason
2016-10-11 15:46 Chris Mason
2016-09-23 20:01 Chris Mason
2016-09-09 17:46 Chris Mason
2016-09-03 13:54 Chris Mason
2016-08-26 23:36 Chris Mason
2016-08-10 12:10 Chris Mason
2016-08-04 19:12 Chris Mason
2016-07-31 13:55 Chris Mason
2016-06-18 13:01 Chris Mason
2016-06-10 20:01 Chris Mason
2016-06-03 20:57 Chris Mason
2016-05-27 17:44 Chris Mason
2016-05-21 14:18 Chris Mason
2016-04-08 20:43 Chris Mason
2016-04-01 22:45 Chris Mason
2016-03-22  0:24 Chris Mason
2016-03-22  1:16 ` Linus Torvalds
2016-03-22  2:15   ` Chris Mason
2016-03-22  2:24     ` Chris Mason
2016-03-22  2:38       ` Linus Torvalds
2016-03-04 18:51 Chris Mason
2016-02-19 19:08 Chris Mason
2016-02-12 16:43 Chris Mason
2016-01-29 18:42 Chris Mason
2016-01-22 16:34 Chris Mason
2016-01-17 23:30 Chris Mason
2016-01-18 10:25 ` Martin Steigerwald
2016-01-18 10:52   ` Holger Hoffstätte
2015-12-18 17:28 Chris Mason
2015-11-27 21:13 Chris Mason
2015-11-13 20:37 Chris Mason
2015-10-23 12:47 Chris Mason
2015-10-16 17:34 Chris Mason
2015-10-09 17:42 Chris Mason
2015-09-25 17:35 Chris Mason
2015-09-11 18:44 Chris Mason
2015-08-08 19:41 Chris Mason
2015-07-31 18:21 Chris Mason
2015-07-17 19:38 Chris Mason
2015-07-10 19:15 Chris Mason
2015-06-29 21:11 Chris Mason
2015-05-23  1:14 Chris Mason
2015-05-26 12:33 ` Josh Boyer
2015-05-26 12:54   ` Chris Mason
2015-06-02 14:02     ` Josh Boyer
2015-06-26 14:21       ` David Sterba
2015-03-06 21:45 Chris Mason
2015-02-26  2:01 Chris Mason
2015-02-19 20:36 Chris Mason
2015-02-20 10:09 ` Markus Trippelsdorf
2014-11-09  1:17 Chris Mason
2014-10-11  0:41 Chris Mason
2014-08-14 17:59 Chris Mason
2014-08-14 18:10 ` Linus Torvalds
2014-08-14 18:17   ` Chris Mason
2014-07-20 14:33 Chris Mason
2014-07-21  3:07 ` Duncan
2014-07-04 14:42 Chris Mason
2014-06-20 15:53 Chris Mason
2014-05-20 19:25 Chris Mason
2014-04-26 23:31 Chris Mason
2014-02-16 13:13 Chris Mason
2014-02-09 19:13 Chris Mason
2014-02-04 17:59 Chris Mason
2014-01-30 21:52 Chris Mason
2014-02-02  0:15 ` David Rientjes
2014-02-02  1:28   ` Filipe David Manana
2014-02-02  2:40     ` David Rientjes
2014-02-02  8:09     ` Chris Samuel
2014-02-03 17:54 ` David Sterba
2014-02-03 18:18   ` Chris Mason
2014-02-04 19:50     ` Greg KH
2014-02-04 19:52       ` Chris Mason
2013-12-12 21:57 Chris Mason
2013-11-21 18:35 Chris Mason
2013-11-15 15:19 Chris Mason
2013-11-15 16:11 ` Geert Uytterhoeven
2013-11-14 17:19 Chris Mason
2013-11-15 11:32 ` Heiko Carstens
2013-11-15 12:21   ` Chris Mason
2013-11-15 13:40     ` Chris Mason
2013-11-15 13:42       ` Geert Uytterhoeven
2013-11-15 14:57         ` Heiko Carstens
2013-11-17  9:36           ` Gleb Natapov
2013-11-18  9:35             ` Heiko Carstens
2013-11-18 10:30               ` Will Deacon
2013-10-18 23:24 Chris Mason
2013-10-12  1:01 Chris Mason
2013-10-05 17:36 Chris Mason
2013-09-22 20:50 Chris Mason
2013-09-12 15:36 Chris Mason
2013-09-12 20:38 ` Josh Boyer
2013-09-13  6:44   ` Geert Uytterhoeven
2013-09-13 11:53     ` Josh Boyer
2013-09-13 12:15       ` Russell King
2013-09-13 12:15         ` Russell King
2013-09-13 12:36         ` Geert Uytterhoeven
2013-09-13 15:06         ` Josh Boyer
2013-09-13 15:38           ` Josh Boyer
2013-09-13 15:58             ` Russell King
2013-09-14  9:33               ` Heiko Carstens
2013-09-13 13:07 ` Ric Wheeler
2013-09-13 14:11   ` Hugo Mills
2013-08-10 12:28 Chris Mason
2013-07-09 19:18 Chris Mason
2013-06-14  1:29 Chris Mason
2013-05-09 19:26 Chris Mason
2013-03-02 15:15 Chris Mason
2013-03-02 15:41 ` Liu Bo
2013-03-03  0:45 ` Linus Torvalds
2013-03-03  1:10   ` Chris Mason
2012-10-09 21:05 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=20151106184448.GA26661@ret.masoncoding.com \
    --to=clm@fb.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 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.