On Tue, Sep 29, 2015 at 08:10:19AM -0400, Austin S Hemmelgarn wrote: > On 2015-09-29 08:00, David Sterba wrote: > >On Mon, Sep 28, 2015 at 05:57:05PM +0000, Gabríel Arthúr Pétursson wrote: > >>The attached patches to linux and btrfs-progs add support for filtering > >>based on the number of strips in a block when balancing. > > > >What usecase do you want to address? As I understand it, this would help > >the raid56 rebalancing to process only blockgroups that are not spread > >accross enough devices. Exactly. Last week, I was trying to help Gabríel on IRC with a close-to-full filesystem balance it to add some new devices in a parity RAID configuration. He'd added the devices and balanced, but the usage was unequal across the devices. The only way I could think of dealing with it with the current tools was either to do a full balance repeatedly until it worked itself out, or to delve into the metadata with btrfs-debug-tree, and balance selected block groups individually. I whinged that we needed a filter to pick just the block groups that weren't "as full as possible", and Gabríel picked up the idea and ran with it. > This could also be helpful when reshaping a raid10 or raid0 setup. Yes, although ultimately less important in most cases, I think, because you don't lose space by reducing the number of devices in a block group for those. There are some corner cases where you could end up losing space by having one (for RAID-0) or up to three (for RAID-10) devices with more space left than the rest. Hugo. -- Hugo Mills | Dullest spy film ever: The Eastbourne Ultimatum hugo@... carfax.org.uk | http://carfax.org.uk/ | PGP: E2AB1DE4 | The Thick of It