From 6712f25cb25cc48481f68cc9006efe620d0a5fae Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 1 Apr 2013 15:09:33 -0700 Subject: [PATCH] 3.0-stable patches added patches: btrfs-limit-the-global-reserve-to-512mb.patch --- ...fs-limit-the-global-reserve-to-512mb.patch | 36 +++++++++++++++++++ queue-3.0/series | 1 + 2 files changed, 37 insertions(+) create mode 100644 queue-3.0/btrfs-limit-the-global-reserve-to-512mb.patch diff --git a/queue-3.0/btrfs-limit-the-global-reserve-to-512mb.patch b/queue-3.0/btrfs-limit-the-global-reserve-to-512mb.patch new file mode 100644 index 00000000000..46aff534066 --- /dev/null +++ b/queue-3.0/btrfs-limit-the-global-reserve-to-512mb.patch @@ -0,0 +1,36 @@ +From fdf30d1c1b386e1b73116cc7e0fb14e962b763b0 Mon Sep 17 00:00:00 2001 +From: Josef Bacik +Date: Tue, 26 Mar 2013 15:31:45 -0400 +Subject: Btrfs: limit the global reserve to 512mb + +From: Josef Bacik + +commit fdf30d1c1b386e1b73116cc7e0fb14e962b763b0 upstream. + +A user reported a problem where he was getting early ENOSPC with hundreds of +gigs of free data space and 6 gigs of free metadata space. This is because the +global block reserve was taking up the entire free metadata space. This is +ridiculous, we have infrastructure in place to throttle if we start using too +much of the global reserve, so instead of letting it get this huge just limit it +to 512mb so that users can still get work done. This allowed the user to +complete his rsync without issues. Thanks + +Reported-and-tested-by: Stefan Priebe +Signed-off-by: Josef Bacik +Signed-off-by: Greg Kroah-Hartman + +--- + fs/btrfs/extent-tree.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/fs/btrfs/extent-tree.c ++++ b/fs/btrfs/extent-tree.c +@@ -3786,7 +3786,7 @@ static void update_global_block_rsv(stru + spin_lock(&block_rsv->lock); + spin_lock(&sinfo->lock); + +- block_rsv->size = num_bytes; ++ block_rsv->size = min_t(u64, num_bytes, 512 * 1024 * 1024); + + num_bytes = sinfo->bytes_used + sinfo->bytes_pinned + + sinfo->bytes_reserved + sinfo->bytes_readonly + diff --git a/queue-3.0/series b/queue-3.0/series index fff861d40e6..93f570f8329 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -13,3 +13,4 @@ mwifiex-cancel-cmd-timer-and-free-curr_cmd-in-shutdown-process.patch net-irda-add-missing-error-path-release_sock-call.patch usb-ehci-fix-bug-in-itd-sitd-dma-pool-allocation.patch usb-xhci-fix-trb-transfer-length-macro-used-for-event-trb.patch +btrfs-limit-the-global-reserve-to-512mb.patch -- 2.47.3