]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
btrfs for 4.9
authorSasha Levin <sashal@kernel.org>
Mon, 3 Dec 2018 17:05:04 +0000 (12:05 -0500)
committerSasha Levin <sashal@kernel.org>
Mon, 3 Dec 2018 17:05:04 +0000 (12:05 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.9/btrfs-release-metadata-before-running-delayed-refs.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/btrfs-release-metadata-before-running-delayed-refs.patch b/queue-4.9/btrfs-release-metadata-before-running-delayed-refs.patch
new file mode 100644 (file)
index 0000000..85bf5b3
--- /dev/null
@@ -0,0 +1,47 @@
+From f81027ce3151c309c5cbaa78cf9436e32de2b0ec Mon Sep 17 00:00:00 2001
+From: Josef Bacik <josef@toxicpanda.com>
+Date: Tue, 20 Nov 2018 10:11:21 +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 <osandov@fb.com>
+Reviewed-by: Liu Bo <bo.liu@linux.alibaba.com>
+Reviewed-by: Nikolay Borisov <nborisov@suse.com>
+Signed-off-by: Josef Bacik <josef@toxicpanda.com>
+Signed-off-by: David Sterba <dsterba@suse.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ 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 9517de0e668c..fd6c74662e9a 100644
+--- a/fs/btrfs/transaction.c
++++ b/fs/btrfs/transaction.c
+@@ -1924,6 +1924,9 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans,
+               return ret;
+       }
++      btrfs_trans_release_metadata(trans, root);
++      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
+        */
+@@ -1933,9 +1936,6 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans,
+               return ret;
+       }
+-      btrfs_trans_release_metadata(trans, root);
+-      trans->block_rsv = NULL;
+-
+       cur_trans = trans->transaction;
+       /*
+-- 
+2.17.1
+
index c0dc20607bc382ba38e936c409bbc1efb1204a22..8cd5f7df2025c29a4d4099df97b703ec28b1145e 100644 (file)
@@ -32,3 +32,4 @@ alsa-sparc-fix-invalid-snd_free_pages-at-error-path.patch
 ext2-fix-potential-use-after-free.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