From: Liu Yuan <tailai...@taobao.com>

Yes, I think so. Here is the patch.

Subject: [PATCH] sheepdog: fix send req helpers
From: Liu Yuan <tailai...@taobao.com>

We should return if reading of the header fails.

Cc: Kevin Wolf <kw...@redhat.com>
Cc: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <tailai...@taobao.com>
---
 block/sheepdog.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/block/sheepdog.c b/block/sheepdog.c
index 62dfa48..73308b2 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -510,6 +510,7 @@ static int send_req(int sockfd, SheepdogReq *hdr, void 
*data,
     ret = qemu_send_full(sockfd, hdr, sizeof(*hdr), 0);
     if (ret < sizeof(*hdr)) {
         error_report("failed to send a req, %s", strerror(errno));
+        return ret;
     }
 
     ret = qemu_send_full(sockfd, data, *wlen, 0);
@@ -528,6 +529,7 @@ static int send_co_req(int sockfd, SheepdogReq *hdr, void 
*data,
     ret = qemu_co_send(sockfd, hdr, sizeof(*hdr));
     if (ret < sizeof(*hdr)) {
         error_report("failed to send a req, %s", strerror(errno));
+        return ret;
     }
 
     ret = qemu_co_send(sockfd, data, *wlen);
-- 
1.7.8.2


Reply via email to