[Spice-devel] [spice-gtk v4 00/13] CD sharing feature

Yuri Benditovich yuri.benditovich at daynix.com
Wed Sep 19 11:54:41 UTC 2018


On Wed, Sep 19, 2018 at 7:41 AM, Gerd Hoffmann <kraxel at redhat.com> wrote:

>   Hi,
>
> > > Hmm, so it isn't only usb emulation, but also scsi emulation duplicated
> > > in spice-client.  Why this route?  Wouldn't it be simpler to run nbd
> > > over spice-chardev, then hook up the iso as blockdev in qemu?  Which
> > > you then can attach to any cdrom emulation (ide/sata/scsi/usb) in qemu?
> > >
> > > cheers,
> > >   Gerd
> > >
> >
> > No, we need to redirect a client CD, not a server one.
>
> Sure, the spice client would be the nbd server and provide iso access to
> qemu & guest that way.
>
> > PoC with nbd was presented and discarded in favor of client only
> > solution.
>
> Can you summarize the reasons to discard the approach?
>

I will try.

The POC of nbd-based cd sharing was on the table. It needed some
unclear rework to avoid breaking ABI with mainstream spice-server.
The solution requires updates in qemu and spice on server side and
spice and spice-gtk on client side.
Then it is functional with command-line qemu.
In order to make it available to regular user need to update at least also
libvirt and virt-manager
(to add new nbd chanels), remote viewer (to select what to share).
The user experience is also changed - any user (whether it plans to share
cd in this session or not)
have on guest machine several additional unloaded drives (to be loaded when
the sharing
triggered on client side).

Current solution is client only (even spice-gtk only), works on any setup
even with old server side.
Control of the feature is the same as redirection of usb drives (existing
usbredir filter on server side).
Simple scsi engine added to spice-gtk.


>
> I'd expect it to be rather simple to implement.  There is nbdkit which
> should make it easy to implement the server in spice client.  The client
> side in qemu is already there.  And spice-char transport is there too.
> So you basically have to take the parts and put them together.  Maybe
> some glue code, to call blockdev_remove_medium() on disconnects etc.
>
> thanks,
>   Gerd
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20180919/1b3b7bd8/attachment.html>


More information about the Spice-devel mailing list