On 04/27/2012 12:29 PM, Li Wenpeng wrote: > 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; Applied. Thanks, Yuan |