GNU bug report logs -
#66014
Unable to use UUIDs to construct RAID array in mapped-devices
Previous Next
To reply to this bug, email your comments to 66014 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#66014
; Package
guix
.
(Fri, 15 Sep 2023 18:56:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Lars Rustand <rustand.lars <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Fri, 15 Sep 2023 18:56:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Setting up a RAID array using UUIDs does not work.
The following mapped-devices block works:
(mapped-devices
(list
(mapped-device
(source (list "/dev/nvme0n1p2" "/dev/nvme1n1p3"))
(target "/dev/md0")
(type raid-device-mapping))))
But this one fails:
(mapped-devices
(list
(mapped-device
(source (list (uuid "a07c54da-eb61-4135-86b8-8791e863e46a") (uuid "c40026af-ace9-47fc-9d3f-4b8d6a2219cb")))
(target "/dev/md0")
(type raid-device-mapping))))
The error message I get is guix system: error: #<<uuid> type: dce bv: #vu8(160 124 84 218 235 97 65 53 134 184 135 145 232 99 228 106)>: invalid G-expression input
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66014
; Package
guix
.
(Mon, 18 Sep 2023 12:27:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Lars Rustand <rustand.lars <at> gmail.com> writes:
> [[PGP Signed Part:Undecided]]
> Setting up a RAID array using UUIDs does not work.
>
> The following mapped-devices block works:
>
> (mapped-devices
> (list
> (mapped-device
> (source (list "/dev/nvme0n1p2" "/dev/nvme1n1p3"))
> (target "/dev/md0")
> (type raid-device-mapping))))
>
> But this one fails:
>
> (mapped-devices
> (list
> (mapped-device
> (source (list (uuid "a07c54da-eb61-4135-86b8-8791e863e46a") (uuid "c40026af-ace9-47fc-9d3f-4b8d6a2219cb")))
> (target "/dev/md0")
> (type raid-device-mapping))))
>
> The error message I get is guix system: error: #<<uuid> type: dce bv: #vu8(160 124 84 218 235 97 65 53 134 184 135 145 232 99 228 106)>: invalid G-expression input
>
> [[End of PGP Signed Part]]
Would it be possible to use /dev/disk/by-uuid paths instead of uuid
objects for these? I think this big "typeof" based dynamic dispatch
that we're using in Scheme is erm, not very robust, to put it mildly.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66014
; Package
guix
.
(Mon, 18 Sep 2023 12:27:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66014
; Package
guix
.
(Mon, 18 Sep 2023 21:48:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 66014 <at> debbugs.gnu.org (full text, mbox):
Hi,
Csepp <raingloom <at> riseup.net> skribis:
> Lars Rustand <rustand.lars <at> gmail.com> writes:
[...]
>> But this one fails:
>>
>> (mapped-devices
>> (list
>> (mapped-device
>> (source (list (uuid "a07c54da-eb61-4135-86b8-8791e863e46a") (uuid "c40026af-ace9-47fc-9d3f-4b8d6a2219cb")))
>> (target "/dev/md0")
>> (type raid-device-mapping))))
>>
>> The error message I get is guix system: error: #<<uuid> type: dce bv: #vu8(160 124 84 218 235 97 65 53 134 184 135 145 232 99 228 106)>: invalid G-expression input
>>
>> [[End of PGP Signed Part]]
>
> Would it be possible to use /dev/disk/by-uuid paths instead of uuid
> objects for these?
Depends: /dev/disk/by-uuid is populated by eudev, which is not running
at the time initrd code runs; IOW it’s OK to use /dev/disk/by-uuid if
and only if the mapped device is not “needed for boot”.
> I think this big "typeof" based dynamic dispatch that we're using in
> Scheme is erm, not very robust, to put it mildly.
Yeah, it’s not great. What would you suggest?
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66014
; Package
guix
.
(Tue, 19 Sep 2023 10:56:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 66014 <at> debbugs.gnu.org (full text, mbox):
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hi,
>
> Csepp <raingloom <at> riseup.net> skribis:
>
>> Lars Rustand <rustand.lars <at> gmail.com> writes:
>
> [...]
>
>>> But this one fails:
>>>
>>> (mapped-devices
>>> (list
>>> (mapped-device
>>> (source (list (uuid "a07c54da-eb61-4135-86b8-8791e863e46a") (uuid "c40026af-ace9-47fc-9d3f-4b8d6a2219cb")))
>>> (target "/dev/md0")
>>> (type raid-device-mapping))))
>>>
>>> The error message I get is guix system: error: #<<uuid> type: dce bv: #vu8(160 124 84 218 235 97 65 53 134 184 135 145 232 99 228 106)>: invalid G-expression input
>>>
>>> [[End of PGP Signed Part]]
>>
>> Would it be possible to use /dev/disk/by-uuid paths instead of uuid
>> objects for these?
>
> Depends: /dev/disk/by-uuid is populated by eudev, which is not running
> at the time initrd code runs; IOW it’s OK to use /dev/disk/by-uuid if
> and only if the mapped device is not “needed for boot”.
>
>> I think this big "typeof" based dynamic dispatch that we're using in
>> Scheme is erm, not very robust, to put it mildly.
>
> Yeah, it’s not great. What would you suggest?
>
> Ludo’.
I guess MyPy-for-Guile is a bit out of scope for now, so the next best
way to catch these would be property based testing.
As for implementing them, can't we use Guile's generics, or model
something on Clojure's generics? Something that lets client code add
implementations to an interface. Although that might have some security
implications.
This bug report was last modified 1 year and 269 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.