[sheepdog] [PATCH UPDATE] collie: add node cache command to set max cache size
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Mon Jul 30 08:16:07 CEST 2012
At Mon, 30 Jul 2012 13:07:21 +0800,
levin li wrote:
>
> From: levin li <xingke.lwp at taobao.com>
>
>
> Signed-off-by: levin li <xingke.lwp at taobao.com>
> ---
> collie/node.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
> include/internal_proto.h | 1 +
> 2 files changed, 46 insertions(+), 0 deletions(-)
>
> diff --git a/collie/node.c b/collie/node.c
> index df841a0..af0b4f0 100644
> --- a/collie/node.c
> +++ b/collie/node.c
> @@ -139,6 +139,49 @@ static int node_recovery(int argc, char **argv)
> return EXIT_SUCCESS;
> }
>
> +static int node_cache(int argc, char **argv)
> +{
> + char *p;
> + int fd, ret, cache_size;
> + unsigned int wlen, rlen = 0;
> + struct sd_req hdr;
> + struct sd_rsp *rsp = (struct sd_rsp *)&hdr;
> +
> + cache_size = strtol(argv[optind++], &p, 10);
> + if (argv[optind] == p || cache_size < 0) {
optind is incremented in the previous line.
> + fprintf(stderr, "Invalid cache size %d\n", cache_size);
You should print the input string (argv[optind]) because if no
conversion happens, strtol returns zero.
Thanks,
Kazutaka
More information about the sheepdog
mailing list