On Tue, Jul 10, 2018 at 11:27:51 +0200, Ján Tomko wrote: > On Tue, Jul 10, 2018 at 10:44:48AM +0200, Peter Krempa wrote: > > Aggregate the code for the two separate formats used according to the > > machine type and add some supporting code so that the function is > > actually readable. > > > > Signed-off-by: Peter Krempa <pkre...@redhat.com> > > --- > > src/qemu/qemu_command.c | 58 > > ++++++++++++++++++++++++------------------------- > > 1 file changed, 28 insertions(+), 30 deletions(-) > > > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > > index f756cc7112..2e5920e859 100644 > > --- a/src/qemu/qemu_command.c > > +++ b/src/qemu/qemu_command.c > > @@ -2148,55 +2148,53 @@ qemuBuildFloppyCommandLineOptions(virCommandPtr cmd, > > > > { > > virBuffer fdc_opts = VIR_BUFFER_INITIALIZER; > > - char *fdc_opts_str = NULL; > > - char *optstr; > > + char driveLetter; > > char *backendAlias = NULL; > > + char *backendStr = NULL; > > + char *bootindexStr = NULL; > > int ret = -1; > > > > + if (disk->info.addr.drive.unit) > > + driveLetter = 'B'; > > + else > > + driveLetter = 'A'; > > + > > if (!(backendAlias = qemuAliasDiskDriveFromDisk(disk))) > > return -1; > > > > - if (virAsprintf(&optstr, "drive%c=%s", > > - disk->info.addr.drive.unit ? 'B' : 'A', > > - backendAlias) < 0) > > + if (virAsprintf(&backendStr, "drive%c=%s", driveLetter, backendAlias) > > < 0) > > goto cleanup; > > > > - if (!qemuDomainNeedsFDC(def)) { > > - virCommandAddArg(cmd, "-global"); > > - virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr); > > - } else { > > - virBufferAsprintf(&fdc_opts, "%s,", optstr); > > - } > > - VIR_FREE(optstr); > > - > > - if (bootindex) { > > - if (virAsprintf(&optstr, "bootindex%c=%u", > > - disk->info.addr.drive.unit > > - ? 'B' : 'A', > > - bootindex) < 0) > > - goto cleanup; > > + if (bootindex && > > + virAsprintf(&bootindexStr, "bootindex%c=%u", driveLetter, > > bootindex) < 0) > > + goto cleanup; > > > > - if (!qemuDomainNeedsFDC(def)) { > > + if (!qemuDomainNeedsFDC(def)) { > > + if (backendStr) { > > backendStr is filled in unconditionally, this condition is not > necessary.
With -blockdev there is no backend for an empty drive so it. I can remove it but it will need to be put back later. > > > virCommandAddArg(cmd, "-global"); > > - virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr); > > - } else { > > - virBufferAsprintf(&fdc_opts, "%s,", optstr); > > + virCommandAddArgFormat(cmd, "isa-fdc.%s", backendStr); > > Reviewed-by: Ján Tomko <jto...@redhat.com> > > Jano
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list