[Sheepdog] [PATCH] make remove_object() returns -1 when fail to delete one of the objects
Liu Yuan
namei.unix at gmail.com
Fri Apr 27 06:44:23 CEST 2012
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
More information about the sheepdog
mailing list