From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: mst@redhat.com, changpeng.liu@intel.com,
marcandre.lureau@redhat.com, qemu-devel@nongnu.org
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: [Qemu-devel] [PATCH v3 1/2] vhost-user-blk: set config ops before vhost-user init
Date: Thu, 29 Mar 2018 09:52:32 +0200 [thread overview]
Message-ID: <20180329075233.524-2-maxime.coquelin@redhat.com> (raw)
In-Reply-To: <20180329075233.524-1-maxime.coquelin@redhat.com>
As soon as vhost-user init is done, the backend may send
VHOST_USER_SLAVE_CONFIG_CHANGE_MSG, so let's set the
notification callback before it.
Also, it will be used to know whether the device supports
the config feature to advertize it or not.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
hw/block/vhost-user-blk.c | 4 ++--
hw/virtio/vhost.c | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
index f840f07dfe..262baca432 100644
--- a/hw/block/vhost-user-blk.c
+++ b/hw/block/vhost-user-blk.c
@@ -259,6 +259,8 @@ static void vhost_user_blk_device_realize(DeviceState *dev, Error **errp)
s->dev.vq_index = 0;
s->dev.backend_features = 0;
+ vhost_dev_set_config_notifier(&s->dev, &blk_ops);
+
ret = vhost_dev_init(&s->dev, &s->chardev, VHOST_BACKEND_TYPE_USER, 0);
if (ret < 0) {
error_setg(errp, "vhost-user-blk: vhost initialization failed: %s",
@@ -277,8 +279,6 @@ static void vhost_user_blk_device_realize(DeviceState *dev, Error **errp)
s->blkcfg.num_queues = s->num_queues;
}
- vhost_dev_set_config_notifier(&s->dev, &blk_ops);
-
return;
vhost_err:
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 250f886acb..b6c314e350 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -1451,7 +1451,6 @@ int vhost_dev_set_config(struct vhost_dev *hdev, const uint8_t *data,
void vhost_dev_set_config_notifier(struct vhost_dev *hdev,
const VhostDevConfigOps *ops)
{
- assert(hdev->vhost_ops);
hdev->config_ops = ops;
}
--
2.14.3
next prev parent reply other threads:[~2018-03-29 7:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-29 7:52 [Qemu-devel] [PATCH v3 0/2] vhost-user: Back SET/GET_CONFIG with a protocol feature Maxime Coquelin
2018-03-29 7:52 ` Maxime Coquelin [this message]
2018-04-08 8:53 ` [Qemu-devel] [PATCH v3 1/2] vhost-user-blk: set config ops before vhost-user init Liu, Changpeng
2018-03-29 7:52 ` [Qemu-devel] [PATCH v3 2/2] vhost-user: back SET/GET_CONFIG requests with a protocol feature Maxime Coquelin
2018-04-08 8:54 ` Liu, Changpeng
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=20180329075233.524-2-maxime.coquelin@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=changpeng.liu@intel.com \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.