[sheepdog] [PATCH] block/sheepdog: add error handling to sd_snapshot_delete()

Takashi Menjo menjo.takashi at lab.ntt.co.jp
Fri Mar 18 09:54:38 CET 2016


Errors have been ignored in some code paths in sd_snapshot_delete().
This patch adds error handling.

Signed-off-by: Takashi Menjo <menjo.takashi at lab.ntt.co.jp>
---
 block/sheepdog.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/block/sheepdog.c b/block/sheepdog.c
index a3aeae4..6492405 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -2565,6 +2565,7 @@ static int sd_snapshot_delete(BlockDriverState *bs,
     SheepdogVdiRsp *rsp = (SheepdogVdiRsp *)&hdr;
 
     if (!remove_objects(s)) {
+        error_report("failed to discard snapshot inode");
         return -1;
     }
 
@@ -2588,6 +2589,7 @@ static int sd_snapshot_delete(BlockDriverState *bs,
     ret = find_vdi_name(s, s->name, snap_id, snap_tag, &vid, true,
                         &local_err);
     if (ret) {
+        error_report_err(local_err);
         return ret;
     }
 
@@ -2601,6 +2603,7 @@ static int sd_snapshot_delete(BlockDriverState *bs,
                  buf, &wlen, &rlen);
     closesocket(fd);
     if (ret) {
+        error_setg_errno(errp, -ret, "failed to delete %s", s->name);
         return ret;
     }
 
-- 
2.7.4.windows.1





More information about the sheepdog mailing list