Comment 4 for bug 1641727

Revision history for this message
Barry Warsaw (barry) wrote :

I've run into a complication, so I'm looking for feedback @slangasek

In the single-volume case (i.e. up until now), we've always implicitly appended a role:system-data (i.e. root fs) partition to the end of the volume specification if we did not see an explicit role:system-data structure defined. This perhaps makes sense in that use case because if there's only one volume defined then that volume (i.e. disk image) will probably be used to boot the device and thus a root file system would be required.

But does that assumption still make sense in a multi-volume gadget.yaml? It seems wrong to me to require that every volume in the multi-volume case contains a root fs. Doesn't it make more sense to require an explicit root fs specification so you know which volume to add it to? (Having implicit data also violates my "no hidden magic" sensibilities. ;).

Note that we can't say that only the first defined volume should have the implicit root fs, but not the subsequent ones. That's just more magical rules a gadget.yaml author needs to remember and it means they might not be able to reorganize their gadget.yaml for fear of getting tripped up by this rule.

I could be wrong, but I recall @slangasek arguing against requiring a role:system-data specification in the gadget.yaml. Maybe it was for backward compatibility? If we aren't able, for b/c reasons, to require a role:system-data structure in the single-volume gadget.yaml case, perhaps we should start by requiring it in the multi-volume case, perhaps also with a deprecation warning in the single-volume case.