vhost_user_blk_connect() has two callers:

- vhost_user_blk_realize_connect(), which directly set .connected = false
before call

- vhost_user_blk_event(), where we want this check

Move the check to the only caller which needs it, to simplify further
refactoring.

Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
---
 hw/block/vhost-user-blk.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
index a92426f18c..57214a69cd 100644
--- a/hw/block/vhost-user-blk.c
+++ b/hw/block/vhost-user-blk.c
@@ -352,9 +352,7 @@ static int vhost_user_blk_connect(DeviceState *dev, Error 
**errp)
 
     trace_vhost_user_blk_connect_in(vdev);
 
-    if (s->connected) {
-        return 0;
-    }
+    assert(!s->connected);
 
     s->dev.num_queues = s->num_queues;
     s->dev.nvqs = s->num_queues;
@@ -411,10 +409,12 @@ static void vhost_user_blk_event(void *opaque, 
QEMUChrEvent event)
 
     switch (event) {
     case CHR_EVENT_OPENED:
-        if (vhost_user_blk_connect(dev, &local_err) < 0) {
-            error_report_err(local_err);
-            qemu_chr_fe_disconnect(&s->chardev);
-            return;
+        if (!s->connected) {
+            if (vhost_user_blk_connect(dev, &local_err) < 0) {
+                error_report_err(local_err);
+                qemu_chr_fe_disconnect(&s->chardev);
+                return;
+            }
         }
         break;
     case CHR_EVENT_CLOSED:
-- 
2.48.1


Reply via email to