From: Kevin Wolf <kwolf@redhat.com>
To: elena.ufimtseva@oracle.com
Cc: qemu-devel@nongnu.org, john.g.johnson@oracle.com,
sstabellini@kernel.org, jag.raman@oracle.com,
konrad.wilk@oracle.com, dgilbert@redhat.com, armbru@redhat.com,
ross.lagerwall@citrix.com, liran.alon@oracle.com,
stefanha@redhat.com, kanth.ghatraju@oracle.com
Subject: Re: [Qemu-devel] [multiprocess RFC PATCH 35/37] multi-process: QMP/HMP commands to resize block device on remote process
Date: Thu, 7 Mar 2019 15:11:25 +0100 [thread overview]
Message-ID: <20190307141125.GD5786@linux.fritz.box> (raw)
In-Reply-To: <20190307072251.9823-1-elena.ufimtseva@oracle.com>
Am 07.03.2019 um 08:22 hat elena.ufimtseva@oracle.com geschrieben:
> From: Jagannathan Raman <jag.raman@oracle.com>
>
> Adds rblock_resize QMP/HMP commands to resize block devices on the remote
> process.
>
> Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
> Signed-off-by: Jagannathan Raman <jag.raman@oracle.com>
> Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Up to this patch, I thought that maybe the block layer related things
would only need a few changes, like:
* Have -rblockdev instead of -rdrive
* Add QMP version for HMP-only only commands
But this one got me thinking. If I understand this correctly, the
current design means that we have to duplicate every single QMP command
to have a remote variant. This just doesn't scale.
I'm not entirely sure what the final design should look like, but I
think we need to have a separate QMP connection to the process that owns
the block device so that the normal existing QMP commands can be used to
managed it.
In the long run, I think you'll want to separate the block backends from
the device emulation anyway. The thing I have in mind is the storage
daemon idea that was occasionally mentioned here and there; and the
process that owns the device would connect to the backend process, maybe
using the vhost-user protocol (or an extension of it with more
management stuff). For the start, that separate process could in fact be
the main process.
For a limited prototype, maybe we could even use NBD, which is already
existing (both server and client parts), but will obviously impact
performance. Then we'd need a way to configure the remote device process
to connect to either an external NBD server (e.g. qemu-nbd) or to the
main process, which would manage the real storage and export it to the
remote processes over NBD.
In a second step, we could switch it over to a different protocol that
is more feature complete and can provide better performance.
This probably needs some more thought, but what do you think in general?
Kevin
next prev parent reply other threads:[~2019-03-07 14:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-07 7:20 [Qemu-devel] [multiprocess RFC PATCH 00/37] Initial support of multi-process qemu elena.ufimtseva
2019-03-07 7:22 ` [Qemu-devel] [multiprocess RFC PATCH 35/37] multi-process: QMP/HMP commands to resize block device on remote process elena.ufimtseva
2019-03-07 14:11 ` Kevin Wolf [this message]
2019-03-07 15:26 ` Dr. David Alan Gilbert
2019-03-07 16:15 ` Eric Blake
2019-03-07 10:45 ` [Qemu-devel] [multiprocess RFC PATCH 00/37] Initial support of multi-process qemu Stefan Hajnoczi
2019-03-07 13:27 ` Marc-André Lureau
2019-03-08 19:49 ` Elena Ufimtseva
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190307141125.GD5786@linux.fritz.box \
--to=kwolf@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=elena.ufimtseva@oracle.com \
--cc=jag.raman@oracle.com \
--cc=john.g.johnson@oracle.com \
--cc=kanth.ghatraju@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=liran.alon@oracle.com \
--cc=qemu-devel@nongnu.org \
--cc=ross.lagerwall@citrix.com \
--cc=sstabellini@kernel.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).