diff mbox

[v1,2/2] vhost-user: add reply for set_mem_table

Message ID 1423547293-8448-2-git-send-email-haifeng.lin@huawei.com
State New
Headers show

Commit Message

Linhaifeng Feb. 10, 2015, 5:48 a.m. UTC
From: Linhaifeng <haifeng.lin@huawei.com>

If u64 is not 0 we should return -1 to tell qemu not going on.

Remove some unnecessary '\n' in error_report.

Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
---
 hw/virtio/vhost-user.c | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

Comments

Gonglei (Arei) Feb. 10, 2015, 6:35 a.m. UTC | #1
On 2015/2/10 13:48, linhaifeng wrote:
> From: Linhaifeng <haifeng.lin@huawei.com>
> 
> If u64 is not 0 we should return -1 to tell qemu not going on.
> 
> Remove some unnecessary '\n' in error_report.
Hi, haifeng:

You'd better split a single patch to do this work,
and using '--cover' argument for patch series when git format-patch .  :)

Regards,
-Gonglei
>
> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
> ---
>  hw/virtio/vhost-user.c | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
Linhaifeng Feb. 10, 2015, 6:54 a.m. UTC | #2
On 2015/2/10 14:35, Gonglei wrote:
> On 2015/2/10 13:48, linhaifeng wrote:
>> From: Linhaifeng <haifeng.lin@huawei.com>
>>
>> If u64 is not 0 we should return -1 to tell qemu not going on.
>>
>> Remove some unnecessary '\n' in error_report.
> Hi, haifeng:
> 
> You'd better split a single patch to do this work,
> and using '--cover' argument for patch series when git format-patch .  :)
> 

good idea!

> Regards,
> -Gonglei
>>
>> Signed-off-by: Linhaifeng <haifeng.lin@huawei.com>
>> ---
>>  hw/virtio/vhost-user.c | 33 ++++++++++++++++++++++-----------
>>  1 file changed, 22 insertions(+), 11 deletions(-)
> 
> 
> 
> .
>
diff mbox

Patch

diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index aefe0bb..d69bb33 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -128,7 +128,7 @@  static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
 
     r = qemu_chr_fe_read_all(chr, p, size);
     if (r != size) {
-        error_report("Failed to read msg header. Read %d instead of %d.\n", r,
+        error_report("Failed to read msg header. Read %d instead of %d.", r,
                 size);
         goto fail;
     }
@@ -136,7 +136,7 @@  static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
     /* validate received flags */
     if (msg->flags != (VHOST_USER_REPLY_MASK | VHOST_USER_VERSION)) {
         error_report("Failed to read msg header."
-                " Flags 0x%x instead of 0x%x.\n", msg->flags,
+                " Flags 0x%x instead of 0x%x.", msg->flags,
                 VHOST_USER_REPLY_MASK | VHOST_USER_VERSION);
         goto fail;
     }
@@ -144,7 +144,7 @@  static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
     /* validate message size is sane */
     if (msg->size > VHOST_USER_PAYLOAD_SIZE) {
         error_report("Failed to read msg header."
-                " Size %d exceeds the maximum %zu.\n", msg->size,
+                " Size %d exceeds the maximum %zu.", msg->size,
                 VHOST_USER_PAYLOAD_SIZE);
         goto fail;
     }
@@ -155,7 +155,7 @@  static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
         r = qemu_chr_fe_read_all(chr, p, size);
         if (r != size) {
             error_report("Failed to read msg payload."
-                         " Read %d instead of %d.\n", r, msg->size);
+                         " Read %d instead of %d.", r, msg->size);
             goto fail;
         }
     }
@@ -236,14 +236,14 @@  static int vhost_user_call(struct vhost_dev *dev, unsigned long int request,
 
         if (!fd_num) {
             error_report("Failed initializing vhost-user memory map\n"
-                    "consider using -object memory-backend-file share=on\n");
+                    "consider using -object memory-backend-file share=on");
             return -1;
         }
 
         msg.size = sizeof(m.memory.nregions);
         msg.size += sizeof(m.memory.padding);
         msg.size += fd_num * sizeof(VhostUserMemoryRegion);
-
+        need_reply = 1;
         break;
 
     case VHOST_SET_LOG_FD:
@@ -280,7 +280,7 @@  static int vhost_user_call(struct vhost_dev *dev, unsigned long int request,
         }
         break;
     default:
-        error_report("vhost-user trying to send unhandled ioctl\n");
+        error_report("vhost-user trying to send unhandled ioctl");
         return -1;
         break;
     }
@@ -296,27 +296,38 @@  static int vhost_user_call(struct vhost_dev *dev, unsigned long int request,
 
         if (msg_request != msg.request) {
             error_report("Received unexpected msg type."
-                    " Expected %d received %d\n", msg_request, msg.request);
+                    " Expected %d received %d", msg_request, msg.request);
             return -1;
         }
 
         switch (msg_request) {
         case VHOST_USER_GET_FEATURES:
             if (msg.size != sizeof(m.u64)) {
-                error_report("Received bad msg size.\n");
+                error_report("Received bad msg size.");
                 return -1;
             }
             *((__u64 *) arg) = msg.u64;
             break;
         case VHOST_USER_GET_VRING_BASE:
             if (msg.size != sizeof(m.state)) {
-                error_report("Received bad msg size.\n");
+                error_report("Received bad msg size.");
                 return -1;
             }
             memcpy(arg, &msg.state, sizeof(struct vhost_vring_state));
             break;
+        case VHOST_SET_MEM_TABLE:
+            if (msg.size != sizeof(m.u64)) {
+                error_report("Received bad msg size.");
+                return -1;
+            } else {
+                if (m.u64) {
+                    error_report("Failed to set memory table.");
+                    return -1;
+                }
+            }
+            break;
         default:
-            error_report("Received unexpected msg type.\n");
+            error_report("Received unexpected msg type.");
             return -1;
             break;
         }