[sheepdog] [PATCH v1 1/3] sheep: don't allow it to plug new disk for pure gateway
Hitoshi Mitake
mitake.hitoshi at gmail.com
Fri Jun 20 06:54:48 CEST 2014
At Wed, 18 Jun 2014 16:48:56 +0800,
Robin Dong wrote:
>
> From: Robin Dong <sanbai at taobao.com>
>
> A sheep daemon which is lauched as pure gateway can't (and also don't need)
> to add data path.
>
> Signed-off-by: Robin Dong <sanbai at taobao.com>
> ---
> sheep/md.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/sheep/md.c b/sheep/md.c
> index 29f263f..db9fb76 100644
> --- a/sheep/md.c
> +++ b/sheep/md.c
> @@ -802,6 +802,11 @@ static int do_plug_unplug(char *disks, bool plug)
> path = strtok(disks, ",");
> do {
> if (plug) {
> + /* Not allowed to plug disk for pure gateway */
> + if (md.nr_disks == 0 || sys->this_node.nr_vnodes == 0) {
> + ret = SD_RES_NETWORK_ERROR;
If we actually try to plug disk on gateway node, dog prints an error
message like below:
$ dog node md plug /disk
Failed to execute request, look for sheep.log for more information
But sheep.log doesn't contain any error messages, because it simply
returns the above SD_RES_NETWORK_ERROR. I think you should add more
user friendly error message.
In addition, the error code isn't suitable for this case. Adding a new
error code like SD_RES_INVALID_OPERATION for describe invalid
admin operation and return it would be better.
Thanks,
Hitoshi
> + goto out;
> + }
> if (!md_add_disk(path, true))
> sd_err("failed to add %s", path);
> } else {
> --
> 1.7.12.4
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
More information about the sheepdog
mailing list