On Tue, Apr 02, 2013 at 02:04:52AM -0600, Roman Mamedov wrote: > Hello, > > With kernel 3.7.10 patched with "Btrfs: limit the global reserve to 512mb". > (the problem was occuring also without this patch, but seemed to be even > worse). > > At the start of balance: > > Data: total=31.85GB, used=9.96GB > System: total=4.00MB, used=16.00KB > Metadata: total=1.01GB, used=696.17MB > > "btrfs balance start -musage=5 -dusage=5" is going on for about 50 minutes > > Current situation: > > Balance on '/mnt/r1/' is running > 1 out of about 2 chunks balanced (20 considered), 50% left > > Data: total=30.85GB, used=10.04GB > System: total=4.00MB, used=16.00KB > Metadata: total=1.01GB, used=851.69MB > > And a constant stream of these in dmesg: >
Can you try this out and see if it helps? Thanks, Josef diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 0d89ff0..9830e86 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -2548,6 +2548,13 @@ static int do_relocation(struct btrfs_trans_handle *trans, list_for_each_entry(edge, &node->upper, list[LOWER]) { cond_resched(); + ret = btrfs_block_rsv_refill(rc->extent_root, rc->block_rsv, + rc->extent_root->leafsize, + BTRFS_RESERVE_FLUSH_ALL); + if (ret) { + err = ret; + break; + } upper = edge->node[UPPER]; root = select_reloc_root(trans, rc, upper, edges, &nr); BUG_ON(!root); -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html