From: levin li <xingke.lwp at taobao.com> Currently, remove_object() only returns -1 when the last deletion fail, it's not correct, we need to returns -1 when fail to delete any one of the objects Signed-off-by: levin li <xingke.lwp at taobao.com> --- sheep/sdnet.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sheep/sdnet.c b/sheep/sdnet.c index 74d42f9..d20ab79 100644 --- a/sheep/sdnet.c +++ b/sheep/sdnet.c @@ -821,7 +821,7 @@ int remove_object(struct sd_vnode *e, char name[128]; struct sd_obj_req hdr; struct sd_obj_rsp *rsp = (struct sd_obj_rsp *)&hdr; - int i = 0, n, fd, ret; + int i = 0, n, fd, ret, err = 0; if (nr > zones) nr = zones; @@ -852,9 +852,12 @@ int remove_object(struct sd_vnode *e, if (ret) return -1; + + if (rsp->result != SD_RES_SUCCESS) + err = 1; } - if (rsp->result != SD_RES_SUCCESS) + if (err) return -1; return 0; -- 1.7.10 |