Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fixes from Chris Mason: "Eric's rcu barrier patch fixes a long standing problem with our unmount code hanging on to devices in workqueue helpers. Liu Bo nailed down a difficult assertion for in-memory extent mappings." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: fix warning of free_extent_map Btrfs: fix warning when creating snapshots Btrfs: return as soon as possible when edquot happens Btrfs: return EIO if we have extent tree corruption btrfs: use rcu_barrier() to wait for bdev puts at unmount Btrfs: remove btrfs_try_spin_lock Btrfs: get better concurrency for snapshot-aware defrag work
This commit is contained in:
@ -2312,6 +2312,7 @@ again:
|
||||
key.type = BTRFS_EXTENT_DATA_KEY;
|
||||
key.offset = start;
|
||||
|
||||
path->leave_spinning = 1;
|
||||
if (merge) {
|
||||
struct btrfs_file_extent_item *fi;
|
||||
u64 extent_len;
|
||||
@ -2368,6 +2369,7 @@ again:
|
||||
|
||||
btrfs_mark_buffer_dirty(leaf);
|
||||
inode_add_bytes(inode, len);
|
||||
btrfs_release_path(path);
|
||||
|
||||
ret = btrfs_inc_extent_ref(trans, root, new->bytenr,
|
||||
new->disk_len, 0,
|
||||
@ -2381,6 +2383,7 @@ again:
|
||||
ret = 1;
|
||||
out_free_path:
|
||||
btrfs_release_path(path);
|
||||
path->leave_spinning = 0;
|
||||
btrfs_end_transaction(trans, root);
|
||||
out_unlock:
|
||||
unlock_extent_cached(&BTRFS_I(inode)->io_tree, lock_start, lock_end,
|
||||
|
Reference in New Issue
Block a user