I'm in the process of converting my "single" data to "raid0" for the
performance benefits of striping.  However, watching the output of
btrfs fi usage, I'm seeing something odd.  Here's the current usage:

Data,single: Size:4.47TiB, Used:4.47TiB (99.98%)
  /dev/mapper/neutrino3         300.00GiB
  /dev/mapper/neutrino4         300.00GiB
  /dev/mapper/neutrino5           1.29TiB
  /dev/mapper/neutrino6           1.29TiB
  /dev/mapper/neutrino7           1.29TiB

Data,RAID0: Size:1.62TiB, Used:1.62TiB (99.78%)
  /dev/mapper/neutrino3         332.00GiB
  /dev/mapper/neutrino4         332.00GiB
  /dev/mapper/neutrino5         332.00GiB
  /dev/mapper/neutrino6         332.00GiB
  /dev/mapper/neutrino7         332.00GiB

Now I convert 50G of data from single to raid0 with btrfs balance
start -dconvert=raid0,soft,devid=3,limit=50 /mnt/neutrino.  The usage
now looks like this:

Data,single: Size:4.42TiB, Used:4.42TiB (99.98%)
  /dev/mapper/neutrino3         250.00GiB
  /dev/mapper/neutrino4         300.00GiB
  /dev/mapper/neutrino5           1.29TiB
  /dev/mapper/neutrino6           1.29TiB
  /dev/mapper/neutrino7           1.29TiB

Data,RAID0: Size:1.87TiB, Used:1.67TiB (89.34%)
  /dev/mapper/neutrino3         382.00GiB
  /dev/mapper/neutrino4         382.00GiB
  /dev/mapper/neutrino5         382.00GiB
  /dev/mapper/neutrino6         382.00GiB
  /dev/mapper/neutrino7         382.00GiB

IOW it allocated 250G of raid0 block groups but only filled them with
50G of data.  It's back to normal after I rebalance those block groups
with btrfs balance start -dconvert=raid0,profiles=raid0,usage=80
/mnt/neutrino:

Data,RAID0: Size:1.67TiB, Used:1.67TiB (99.79%)
  /dev/mapper/neutrino3         342.00GiB
  /dev/mapper/neutrino4         342.00GiB
  /dev/mapper/neutrino5         342.00GiB
  /dev/mapper/neutrino6         342.00GiB
  /dev/mapper/neutrino7         342.00GiB

Any idea why?

-- 
Tavian Barnes

Reply via email to