Package: fai-setup-storage
Version: 5.8.4
Severity: normal
Tags: patch

Dear Maintainer,

I observed an issue trying to setup an BTRFS RAID on NVMe disks. I
have used FAI version 5.8.4, however, I think that the bug is still
present in version 5.10.3.

My disk configuration (I deliberately have the 2nd partition
unconfigured):

    disk_config disk1 disklabel:gpt-bios fstabkey:uuid
    primary     -       32G         -       -
    primary     -       -100%       -       -

    disk_config disk2 sameas:disk1

    disk_config btrfs fstabkey:uuid
    btrfs raid1 /       disk1.1,disk2.1 
rw,degraded,noatime,nodiratime,compress=lzo,subvol=@ createopts="-L root"

Installing this on a machine with two disks /dev/nvme0n1 and
/dev/nvme1n1 terminated with the error:

    Cannot satisfy pre-depends for mkfs.btrfs -d raid1 -L root -f   \
    /dev/nvme1n1p1 /dev/nvme0n1p1: pt_complete_/dev/nvmen1p1, --    \
    system left untouched.

Looking into /usr/share/fai/setup-storage/Commands.pm, sub
"build_btrfs_commands", I noticed that line 365 (`$tmp =~ s/\d//;`)
apparently tries to strip the partition number off a partition path.
This is, unfortunately, too simple for these NVMe disks. I changed the
regular expression to only strip the partition no at the end, including
any preceding "p":

    $tmp =~ s/p?\d+$//;

At least my system could install successfully with this patch. It
would, however, now fail for "/dev/sdpX", so maybe the regex should
explicitly handle NVMe disks.

Best,
Maximilian

Reply via email to