Merge branch 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs cleanups and fixes from Chris Mason: "We have another round of fixes and a few cleanups. I have a fix for short returns from btrfs_copy_from_user, which finally nails down a very hard to find regression we added in v4.6. Dave is pushing around gfp parameters, mostly to cleanup internal apis and make it a little more consistent. The rest are smaller fixes, and one speelling fixup patch" * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (22 commits) Btrfs: fix handling of faults from btrfs_copy_from_user btrfs: fix string and comment grammatical issues and typos btrfs: scrub: Set bbio to NULL before calling btrfs_map_block Btrfs: fix unexpected return value of fiemap Btrfs: free sys_array eb as soon as possible btrfs: sink gfp parameter to convert_extent_bit btrfs: make state preallocation more speculative in __set_extent_bit btrfs: untangle gotos a bit in convert_extent_bit btrfs: untangle gotos a bit in __clear_extent_bit btrfs: untangle gotos a bit in __set_extent_bit btrfs: sink gfp parameter to set_record_extent_bits btrfs: sink gfp parameter to set_extent_new btrfs: sink gfp parameter to set_extent_defrag btrfs: sink gfp parameter to set_extent_delalloc btrfs: sink gfp parameter to clear_extent_dirty btrfs: sink gfp parameter to clear_record_extent_bits btrfs: sink gfp parameter to clear_extent_bits btrfs: sink gfp parameter to set_extent_bits btrfs: make find_workspace warn if there are no workspaces btrfs: make find_workspace always succeed ...
This commit is contained in:
@@ -2190,7 +2190,7 @@ static int btrfs_prepare_sprout(struct btrfs_root *root)
|
||||
}
|
||||
|
||||
/*
|
||||
* strore the expected generation for seed devices in device items.
|
||||
* Store the expected generation for seed devices in device items.
|
||||
*/
|
||||
static int btrfs_finish_sprout(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root)
|
||||
@@ -3387,7 +3387,7 @@ static int should_balance_chunk(struct btrfs_root *root,
|
||||
} else if ((bargs->flags & BTRFS_BALANCE_ARGS_LIMIT_RANGE)) {
|
||||
/*
|
||||
* Same logic as the 'limit' filter; the minimum cannot be
|
||||
* determined here because we do not have the global informatoin
|
||||
* determined here because we do not have the global information
|
||||
* about the count of all chunks that satisfy the filters.
|
||||
*/
|
||||
if (bargs->limit_max == 0)
|
||||
@@ -6076,7 +6076,7 @@ static void bbio_error(struct btrfs_bio *bbio, struct bio *bio, u64 logical)
|
||||
{
|
||||
atomic_inc(&bbio->error);
|
||||
if (atomic_dec_and_test(&bbio->stripes_pending)) {
|
||||
/* Shoud be the original bio. */
|
||||
/* Should be the original bio. */
|
||||
WARN_ON(bio != bbio->orig_bio);
|
||||
|
||||
btrfs_io_bio(bio)->mirror_num = bbio->mirror_num;
|
||||
@@ -6560,7 +6560,7 @@ int btrfs_read_sys_array(struct btrfs_root *root)
|
||||
set_extent_buffer_uptodate(sb);
|
||||
btrfs_set_buffer_lockdep_class(root->root_key.objectid, sb, 0);
|
||||
/*
|
||||
* The sb extent buffer is artifical and just used to read the system array.
|
||||
* The sb extent buffer is artificial and just used to read the system array.
|
||||
* set_extent_buffer_uptodate() call does not properly mark all it's
|
||||
* pages up-to-date when the page is larger: extent does not cover the
|
||||
* whole page and consequently check_page_uptodate does not find all
|
||||
@@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root)
|
||||
sb_array_offset += len;
|
||||
cur_offset += len;
|
||||
}
|
||||
free_extent_buffer(sb);
|
||||
free_extent_buffer_stale(sb);
|
||||
return ret;
|
||||
|
||||
out_short_read:
|
||||
printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n",
|
||||
len, cur_offset);
|
||||
free_extent_buffer(sb);
|
||||
free_extent_buffer_stale(sb);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user