diff options
author | Chris Mason <clm@fb.com> | 2014-05-22 16:18:52 -0700 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-06-09 17:20:58 -0700 |
commit | a79b7d4b3e8118f265dcb4bdf9a572c392f02708 (patch) | |
tree | a7b4792e01ea5a44467f053e1822d4240e70edc6 /fs/btrfs/inode.c | |
parent | 40f765805f082ed679c55bf6ab60212e55fb6fc1 (diff) | |
download | op-kernel-dev-a79b7d4b3e8118f265dcb4bdf9a572c392f02708.zip op-kernel-dev-a79b7d4b3e8118f265dcb4bdf9a572c392f02708.tar.gz |
Btrfs: async delayed refs
Delayed extent operations are triggered during transaction commits.
The goal is to queue up a healthly batch of changes to the extent
allocation tree and run through them in bulk.
This farms them off to async helper threads. The goal is to have the
bulk of the delayed operations being done in the background, but this is
also important to limit our stack footprint.
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 992aae6..38d1e7b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2678,6 +2678,7 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent) trans = NULL; goto out_unlock; } + trans->block_rsv = &root->fs_info->delalloc_block_rsv; if (test_bit(BTRFS_ORDERED_COMPRESSED, &ordered_extent->flags)) |