[GIT PULL] Btrfs

From: Chris Mason
Date: Fri Feb 24 2017 - 19:56:27 EST


Hi Linus,

My for-linus-4.11 branch:

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

Has a series of fixes and cleanups that Dave Sterba has been collecting:

There is a pretty big variety here, cleaning up internal APIs and fixing
corner cases.

David Sterba (46) commits (+235/-313):
btrfs: remove unused parameter from btrfs_subvolume_release_metadata (+6/-11)
btrfs: remove pointless rcu protection from btrfs_qgroup_inherit (+0/-2)
btrfs: check quota status earlier and don't do unnecessary frees (+3/-2)
btrfs: remove unused parameter from btrfs_prepare_extent_commit (+3/-5)
btrfs: remove unnecessary mutex lock in qgroup_account_snapshot (+1/-5)
btrfs: embed extent_changeset::range_changed to the structure (+11/-17)
btrfs: remove unused parameter from cleanup_write_cache_enospc (+2/-3)
btrfs: remove unused parameters from __btrfs_write_out_cache (+3/-8)
btrfs: remove unused parameter from clone_copy_inline_extent (+2/-3)
btrfs: remove unused parameter from extent_write_cache_pages (+2/-4)
btrfs: remove unused parameter from tree_move_next_or_upnext (+2/-4)
btrfs: remove unused parameter from btrfs_check_super_valid (+3/-5)
btrfs: remove unused logic of limiting async delalloc pages (+0/-7)
btrfs: fix over-80 lines introduced by previous cleanups (+74/-63)
btrfs: remove unused parameter from read_block_for_search (+5/-5)
btrfs: remove unused parameter from adjust_slots_upwards (+2/-3)
btrfs: remove unused parameter from init_first_rw_device (+3/-5)
btrfs: make space cache inode readahead failure nonfatal (+3/-7)
btrfs: remove unused parameters from scrub_setup_wr_ctx (+3/-7)
btrfs: remove unused parameter from __btrfs_alloc_chunk (+4/-6)
btrfs: add wrapper for counting BTRFS_MAX_EXTENT_SIZE (+23/-31)
btrfs: remove unused parameter from submit_extent_page (+3/-9)
btrfs: remove unused parameter from clean_tree_block (+17/-19)
btrfs: use GFP_KERNEL in btrfs_add/del_qgroup_relation (+2/-2)
btrfs: remove unused parameter from __add_inline_refs (+2/-3)
btrfs: remove unused parameter from add_pending_csums (+2/-4)
btrfs: remove unused parameter from update_nr_written (+4/-4)
btrfs: remove unused parameter from __push_leaf_right (+2/-3)
btrfs: remove unused parameter from check_async_write (+2/-2)
btrfs: remove unused parameter from btrfs_fill_super (+2/-3)
btrfs: remove unused parameter from __push_leaf_left (+2/-3)
btrfs: remove unused parameter from write_dev_supers (+3/-3)
btrfs: remove unused parameter from __add_inode_ref (+1/-2)
btrfs: remove unused parameters from btrfs_cmp_data (+2/-3)
btrfs: remove unused parameter from create_snapshot (+2/-2)
btrfs: ulist: make the finalization function public (+2/-1)
btrfs: remove unused parameter from tree_move_down (+2/-2)
btrfs: ulist: rename ulist_fini to ulist_release (+10/-10)
btrfs: qgroups: make __del_qgroup_relation static (+1/-1)
btrfs: use GFP_KERNEL in btrfs_read_qgroup_config (+1/-1)
btrfs: remove unused parameter from split_item (+2/-3)
btrfs: merge two superblock writing helpers (+4/-11)
btrfs: qgroups: opencode qgroup_free helper (+9/-9)
btrfs: use GFP_KERNEL in btrfs_quota_enable (+1/-1)
btrfs: use GFP_KERNEL in create_snapshot (+2/-2)
btrfs: remove unused ulist members (+0/-7)

Nikolay Borisov (36) commits (+476/-480):
btrfs: Make btrfs_delayed_inode_reserve_metadata take btrfs_inode (+8/-8)
btrfs: Make btrfs_inode_delayed_dir_index_count take btrfs_inode (+5/-5)
btrfs: Make btrfs_commit_inode_delayed_items take btrfs_inode (+4/-4)
btrfs: Make btrfs_commit_inode_delayed_inode take btrfs_inode (+6/-6)
btrfs: Make btrfs_get_or_create_delayed_node take btrfs_inode (+5/-6)
btrfs: Make btrfs_kill_delayed_inode_items take btrfs_inode (+4/-4)
btrfs: Make btrfs_delayed_delete_inode_ref take btrfs_inode (+5/-5)
btrfs: Make btrfs_delete_delayed_dir_index take btrfs_inode (+6/-6)
btrfs: Make btrfs_insert_delayed_dir_index take btrfs_inode (+5/-5)
btrfs: Make btrfs_check_ref_name_override take btrfs_inode (+4/-5)
btrfs: Make btrfs_record_snapshot_destroy take btrfs_inode (+6/-6)
btrfs: Make btrfs_must_commit_transaction take btrfs_inode (+9/-9)
btrfs: Make btrfs_del_dir_entries_in_log take btrfs_inode (+7/-7)
btrfs: Make btrfs_log_changed_extents take btrfs_inode (+11/-11)
btrfs: Make btrfs_record_unlink_dir take btrfs_inode (+14/-14)
btrfs: Make btrfs_remove_delayed_node take btrfs_inode (+5/-5)
btrfs: Make btrfs_get_logged_extents take btrfs_inode (+4/-4)
btrfs: Make btrfs_log_trailing_hole take btrfs_inode (+4/-4)
btrfs: Make btrfs_get_delayed_node take btrfs_inode (+8/-9)
btrfs: Make btrfs_ino take a struct btrfs_inode (+151/-151)
btrfs: Make log_directory_changes take btrfs_inode (+5/-6)
btrfs: Make btrfs_unlink_inode take btrfs_inode (+50/-44)
btrfs: Make log_new_dir_dentries take btrfs_inode (+4/-4)
btrfs: Make btrfs_log_all_xattrs take btrfs_inode (+5/-5)
btrfs: Make btrfs_log_new_name take btrfs_inode (+13/-15)
btrfs: Make btrfs_inode_in_log take btrfs_inode (+18/-20)
btrfs: Make count_inode_extrefs take btrfs_inode (+3/-3)
btrfs: Make btrfs_del_inode_ref take btrfs_inode (+7/-7)
btrfs: Make btrfs_log_inode take btrfs_inode (+48/-49)
btrfs: Make __add_inode_ref take btrfs_inode (+13/-12)
btrfs: Make drop_one_dir_item take btrfs_inode (+6/-6)
btrfs: Make logged_inode_size take btrfs_inode (+3/-3)
btrfs: Make count_inode_refs take btrfs_inode (+3/-3)
btrfs: Make log_inode_item take btrfs_inode (+5/-5)
btrfs: Make log_dir_items take btrfs_inode (+3/-3)
btrfs: Make copy_items take btrfs_inode (+19/-21)

Liu Bo (17) commits (+269/-337):
Btrfs: fix btrfs_ordered_update_i_size to update disk_i_size properly (+26/-2)
Btrfs: kill trans in run_delalloc_nocow and btrfs_cross_ref_exist (+16/-47)
Btrfs: pass delayed_refs directly to btrfs_find_delayed_ref_head (+7/-9)
Btrfs: fix another race between truncate and lockless dio write (+3/-1)
btrfs: teach __process_pages_contig about PAGE_LOCK operation (+44/-7)
Btrfs: create helper for processing bits on contiguous pages (+22/-15)
Btrfs: cleanup unused cached_state in __extent_writepage_io (+1/-8)
Btrfs: specify a new ordered extent type for create_io_em (+6/-4)
Btrfs: use the correct type when creating cow dio extent (+1/-1)
Btrfs: fix wrong argument for btrfs_lookup_ordered_range (+1/-1)
Btrfs: try to avoid acquiring free space ctl's lock (+13/-11)
Btrfs: use helper to get used bytes of space_info (+19/-22)
Btrfs: remove unused trans in read_block_for_search (+8/-9)
Btrfs: use helper to simplify lock/unlock pages (+10/-64)
Btrfs: create a helper to create em for IO (+74/-115)
Btrfs: clean up btrfs_ordered_update_i_size (+13/-16)
Btrfs: fix comment in btrfs_page_mkwrite (+5/-5)

Jeff Mahoney (8) commits (+150/-139):
btrfs: pass fs_info to (more) routines that are only called with extent_root (+53/-50)
btrfs: drop unused extent_op arg from btrfs_add_delayed_data_ref (+6/-10)
btrfs: use btrfs_debug instead of pr_debug in transaction abort (+2/-1)
btrfs: free-space-cache, clean up unnecessary root arguments (+22/-26)
btrfs: btrfs_truncate_free_space_cache always allocates path (+7/-7)
btrfs: convert btrfs_inc_block_group_ro to accept fs_info (+5/-6)
btrfs: flush_space always takes fs_info->fs_root (+10/-10)
btrfs: allow unlink to exceed subvolume quota (+45/-29)

Qu Wenruo (4) commits (+123/-25):
btrfs: qgroup: Move half of the qgroup accounting time out of commit trans (+75/-11)
btrfs: Better csum error message for data csum mismatch (+22/-7)
btrfs: raid56: Remove unused variable in lock_stripe_add (+0/-2)
btrfs: Add WARN_ON for qgroup reserved underflow (+26/-5)

Anand Jain (3) commits (+14/-14):
btrfs: btrfs_defrag_root() doesn't defrag extent root tree (+0/-3)
btrfs: use BTRFS_COMPRESS_NONE to specify no compression (+3/-3)
btrfs: consolidate auto defrag kick off policies (+11/-8)

Omar Sandoval (2) commits (+81/-85):
Btrfs: constify struct btrfs_{,disk_}key wherever possible (+69/-64)
Btrfs: refactor btrfs_extent_same() slightly (+12/-21)

Seraphime Kirkovski (2) commits (+13/-13):
Btrfs: code cleanup min/max -> min_t/max_t (+3/-3)
Btrfs: ACCESS_ONCE cleanup (+10/-10)

Michal Hocko (2) commits (+6/-3):
btrfs: fix up misleading GFP_NOFS usage in btrfs_releasepage (+6/-1)
btrfs: drop gfp mask tweaking in try_release_extent_state (+0/-2)

Filipe Manana (1) commits (+12/-2):
Btrfs: fix deadlock between dedup on same file and starting writeback

Takafumi Kubota (1) commits (+6/-2):
Btrfs: add another missing end_page_writeback on submit_extent_page failure

Colin Ian King (1) commits (+0/-3):
btrfs: remove redundant inode null check

Geliang Tang (1) commits (+4/-4):
btrfs: use rb_entry() instead of container_of

Total: (124) commits (+1389/-1420)

fs/btrfs/backref.c | 7 +-
fs/btrfs/btrfs_inode.h | 44 ++--
fs/btrfs/compression.c | 6 +-
fs/btrfs/ctree.c | 128 +++++-----
fs/btrfs/ctree.h | 84 ++++---
fs/btrfs/delayed-inode.c | 57 +++--
fs/btrfs/delayed-inode.h | 16 +-
fs/btrfs/delayed-ref.c | 31 ++-
fs/btrfs/delayed-ref.h | 6 +-
fs/btrfs/dir-item.c | 5 +-
fs/btrfs/disk-io.c | 29 +--
fs/btrfs/disk-io.h | 6 +-
fs/btrfs/export.c | 13 +-
fs/btrfs/extent-tree.c | 282 +++++++++++----------
fs/btrfs/extent_io.c | 213 ++++++++--------
fs/btrfs/extent_io.h | 5 +-
fs/btrfs/file-item.c | 8 +-
fs/btrfs/file.c | 17 +-
fs/btrfs/free-space-cache.c | 65 ++---
fs/btrfs/free-space-cache.h | 7 +-
fs/btrfs/free-space-tree.c | 2 +-
fs/btrfs/inode-map.c | 2 +-
fs/btrfs/inode.c | 582 +++++++++++++++++++------------------------
fs/btrfs/ioctl.c | 109 ++++----
fs/btrfs/ordered-data.c | 47 ++--
fs/btrfs/ordered-data.h | 4 +-
fs/btrfs/props.c | 4 +-
fs/btrfs/qgroup.c | 163 +++++++-----
fs/btrfs/qgroup.h | 36 ++-
fs/btrfs/raid56.c | 2 -
fs/btrfs/relocation.c | 25 +-
fs/btrfs/root-tree.c | 6 +-
fs/btrfs/scrub.c | 12 +-
fs/btrfs/super.c | 7 +-
fs/btrfs/transaction.c | 58 +++--
fs/btrfs/tree-log.c | 299 +++++++++++-----------
fs/btrfs/tree-log.h | 14 +-
fs/btrfs/ulist.c | 10 +-
fs/btrfs/ulist.h | 8 +-
fs/btrfs/volumes.c | 18 +-
fs/btrfs/xattr.c | 16 +-
include/trace/events/btrfs.h | 2 +-
42 files changed, 1212 insertions(+), 1243 deletions(-)