From db80d9d770ebd3b9e271f1bc540b4576136eadcc Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Mon, 3 Dec 2018 12:05:03 -0500 Subject: [PATCH] btrfs for 4.14 Signed-off-by: Sasha Levin --- ...metadata-before-running-delayed-refs.patch | 47 +++++++++++++++++++ queue-4.14/series | 1 + 2 files changed, 48 insertions(+) create mode 100644 queue-4.14/btrfs-release-metadata-before-running-delayed-refs.patch diff --git a/queue-4.14/btrfs-release-metadata-before-running-delayed-refs.patch b/queue-4.14/btrfs-release-metadata-before-running-delayed-refs.patch new file mode 100644 index 00000000000..4652ac87127 --- /dev/null +++ b/queue-4.14/btrfs-release-metadata-before-running-delayed-refs.patch @@ -0,0 +1,47 @@ +From 99add067afae8f036847f35305b73d6597af721f Mon Sep 17 00:00:00 2001 +From: Josef Bacik +Date: Mon, 3 Dec 2018 13:06:57 +0200 +Subject: btrfs: release metadata before running delayed refs + +We want to release the unused reservation we have since it refills the +delayed refs reserve, which will make everything go smoother when +running the delayed refs if we're short on our reservation. + +CC: stable@vger.kernel.org # 4.4+ +Reviewed-by: Omar Sandoval +Reviewed-by: Liu Bo +Reviewed-by: Nikolay Borisov +Signed-off-by: Josef Bacik +Signed-off-by: David Sterba +Signed-off-by: Sasha Levin +--- + fs/btrfs/transaction.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c +index f74005ca8f08..73c1fbca0c35 100644 +--- a/fs/btrfs/transaction.c ++++ b/fs/btrfs/transaction.c +@@ -1955,6 +1955,9 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans) + return ret; + } + ++ btrfs_trans_release_metadata(trans, fs_info); ++ trans->block_rsv = NULL; ++ + /* make a pass through all the delayed refs we have so far + * any runnings procs may add more while we are here + */ +@@ -1964,9 +1967,6 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans) + return ret; + } + +- btrfs_trans_release_metadata(trans, fs_info); +- trans->block_rsv = NULL; +- + cur_trans = trans->transaction; + + /* +-- +2.17.1 + diff --git a/queue-4.14/series b/queue-4.14/series index f51bca2deef..858d4fe40e0 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -132,3 +132,4 @@ ext2-fix-potential-use-after-free.patch arm-dts-rockchip-remove-0-from-the-veyron-memory-node.patch dmaengine-at_hdmac-fix-memory-leak-in-at_dma_xlate.patch dmaengine-at_hdmac-fix-module-unloading.patch +btrfs-release-metadata-before-running-delayed-refs.patch -- 2.47.3