Getting profile conversion to finish

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm having difficulty getting a profile conversion from raid0 ->
single to finish. Is there a way to tell the filesystem to stop all
new allocations for the raid0 profile, before the full balance
finishes? Otherwise I feel like I'm in a sisyphian push of blocks into
higher block numbers.

Since the profile conversion seems to fail frequently with ENOSPC even
though space isn't an issue:

$ (btrfs file show && btrfs file df /mirror && df -h /mirror)
Label: isibackup  uuid: 550c0f77-8f75-40f3-a64e-42c87a0c8e8d
        Total devices 3 FS bytes used 61.35TiB
        devid    1 size 30.01TiB used 20.16TiB path /dev/sdb
        devid    2 size 30.01TiB used 20.16TiB path /dev/sdc
        devid    3 size 40.02TiB used 29.15TiB path /dev/sdd

Btrfs v3.12-dirty
Data, RAID0: total=11.58TiB, used=11.57TiB
Data, single: total=57.64TiB, used=49.68TiB
System, RAID1: total=40.00MiB, used=7.06MiB
System, single: total=4.00MiB, used=0.00
Metadata, RAID1: total=134.00GiB, used=90.15GiB
Metadata, single: total=8.00MiB, used=0.00
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        101T   62T   38T  63% /mirror

 I wrote a little script to try the profile conversion, and when it
fails try a regular balance which always seems to work fine, ala:

e=550000000000000
i=479300000000000
step=100000000000
btrfs balance start -dusage=0,vrange=0..$e /mirror
while [ $i -lt $e ]
do
    h=$((i-step))
    if ! btrfs balance start
-dprofiles=raid0,convert=single,vrange=0..$i /mirror
    then
        btrfs balance start -dvrange=$h..$i /mirror
    fi
    i=$((i+step))
done

However while this is ongoing, new data written to the filesystem
sometimes gets written to the raid0 profile. So making progress
appears quite slow, maybe 0.5 TB a week from data raid0 -> data
single. Thus the question can I tell it to stop allocating new raid0
space some how, and only use single for new data?
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux