On 3/6/23 17:52, Richard W.M. Jones wrote: > diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml > index 9d8d271d05..f36b486359 100644 > --- a/convert/convert_windows.ml > +++ b/convert/convert_windows.ml > @@ -38,7 +38,7 @@ module G = Guestfs > * time the Windows VM is booted on KVM. > *) > > -let convert (g : G.guestfs) _ inspect i_firmware _ static_ips = > +let convert (g : G.guestfs) _ inspect i_firmware block_driver _ static_ips = > (*----------------------------------------------------------------------*) > (* Inspect the Windows guest. *) > > @@ -47,6 +47,16 @@ let convert (g : G.guestfs) _ inspect i_firmware _ > static_ips = > *) > let virtio_win = > Inject_virtio_win.from_environment g inspect.i_root Config.datadir in > + (match block_driver with > + | Virtio_blk -> () (* the default, no need to do anything *) > +(* > + | Virtio_scsi -> > + let drivers = Inject_virtio_win.get_block_driver_priority virtio_win in > + let drivers = "vioscsi" :: drivers in > + Inject_virtio_win.set_block_driver_priority virtio_win drivers > +*) > + | IDE -> assert false (* not possible - but maybe ...? *) > + ); > > (* If the Windows guest appears to be using group policy. > *
So ["virtio_blk"; "vrtioblk"; "viostor"] in "common/mlcustomize/inject_virtio_win.ml" would be replaced with a reference cell, and get_block_driver_priority / set_block_driver_priority would manipulate that. This looks OK to me. That said, I'd prefer that this patch be split up a bit (by Andrey). Patch#1 could introduce the new field and make sure it is passed around (incl. setting the default virtio-blk value); that's purely boilerplate, so the patch would be well-focused. Patch #2 could glue the new field to the new Inject_virtio_win APIs, in "convert_windows.ml". Patch#3 could implement the command line changes and update the documentation. Laszlo _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs