It looks like the btrfs code currently uses the total space available on a disk to determine where it should place the two copies of a file in RAID1 mode. Wouldn't it make more sense to use the _percentage_ of free space instead of the number of free bytes?
For example, I have two disks in my array that are 8 TB, plus an assortment of 3,4, and 1 TB disks. With the current allocation code, btrfs will use my two 8 TB drives exclusively until I've written 4 TB of files, then it will start using the 4 TB disks, then eventually the 3, and finally the 1 TB disks. If the code used a percentage figure instead, it would spread the allocations much more evenly across the drives, ideally spreading load and reducing drive wear. Is there a reason this is done this way, or is it just something that hasn't had time for development?
signature.asc
Description: OpenPGP digital signature