On Mon, Nov 10, 2025 at 11:07 AM Markus Armbruster <[email protected]> wrote:
>
> Clément Chigot <[email protected]> writes:
>
> > This option tells whether a hard disk should be partitioned or not. It
> > defaults to true and have the prime effect of preventing a master boot
> > record (MBR) to be initialized.
> >
> > This is useful as some operating system (QNX, Rtems) don't
> > recognized FAT mounted disks (especially SD cards) if a MBR is present.
> >
> > Signed-off-by: Clément Chigot <[email protected]>
>
> [...]
>
> > diff --git a/qapi/block-core.json b/qapi/block-core.json
> > index b82af74256..8a479ba090 100644
> > --- a/qapi/block-core.json
> > +++ b/qapi/block-core.json
> > @@ -3464,8 +3464,8 @@
> > #
> > # @fat-type: FAT type: 12, 16 or 32
> > #
> > -# @floppy: whether to export a floppy image (true) or partitioned hard
> > -# disk (false; default)
> > +# @floppy: whether to export a floppy image (true) or hard disk
> > +# (false; default)
> > #
> > # @label: set the volume label, limited to 11 bytes. FAT16 and FAT32
> > # traditionally have some restrictions on labels, which are
> > @@ -3474,11 +3474,15 @@
> > #
> > # @rw: whether to allow write operations (default: false)
> > #
> > +# @partitioned: whether a hard disk will be partitioned
>
> How does "partitioned" combine with "floppy": true?
>
> Is it silently ignored?
>
> Is it an error if present?
>
> Is it an error if true?
>
> Does it add a partition table if true?
>
> > +# (default: true)
>
> Hmm, this suggests it's silently ignored.
>
> Silently ignoring nonsensical configuration is usually a bad idea.
True, but that would mean "unpartitioned" must always be passed when
"floppy" is requested. That would make such command lines a bit more
verbose, but otherwise I don't think there is any issue to that.
Note that I didn't add "partition" as a keyword in the command line.
Currently, it's either the default (thus partitioned) or
"unpartitioned" being requested. Do you think it makes sense to add it
as well, even if it's redundant ?
> > +# (since 10.2)
> > +#
>
> Not sure I like "partitioned". Is a disk with an MBR and a partition
> table contraining a single partition partitioned? Call it "mbr"?
It used to be called "mbr/no-mbr" but Kevin suggested renaming it in
V1. Honestly I'm fine with both options:
- Technically, the option prevents MBR which has a side effect for
preventing partition tables
- Even it has a single partition, I think it makes sense to call a
disk "partitioned" as long as it has a partition table
But I'm not that familiar with disk formats, etc. I'll let you decide
with Kevin, which one you prefer.
> > # Since: 2.9
> > ##
> > { 'struct': 'BlockdevOptionsVVFAT',
> > 'data': { 'dir': 'str', '*fat-type': 'int', '*floppy': 'bool',
> > - '*label': 'str', '*rw': 'bool' } }
> > + '*label': 'str', '*rw': 'bool', '*partitioned': 'bool' } }
> >
> > ##
> > # @BlockdevOptionsGenericFormat:
>