[Sheepdog] [PATCH v5 03/17] sheep: transfer store backend for newly joined node
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Wed Jan 4 21:32:37 CET 2012
At Fri, 30 Dec 2011 21:06:58 +0800,
Liu Yuan wrote:
>
> From: Liu Yuan <tailai.ly at taobao.com>
>
> When the new node joins the cluster, it doesn't know what kind of
> backend store the cluster uses, so we need to transfer this information
> by master node in the join phase.
>
> Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
> ---
> sheep/group.c | 13 ++++++++++++-
> 1 files changed, 12 insertions(+), 1 deletions(-)
>
> diff --git a/sheep/group.c b/sheep/group.c
> index 115c965..239f311 100644
> --- a/sheep/group.c
> +++ b/sheep/group.c
> @@ -27,6 +27,8 @@
>
> static int cdrv_fd;
> static struct coroutine *cdrv_co;
> +extern struct store_driver *sd_store;
> +extern char *obj_path;
>
> struct node {
> struct sd_node ent;
> @@ -44,7 +46,8 @@ struct join_message {
> uint64_t ctime;
> uint32_t result;
> uint8_t inc_epoch; /* set non-zero when we increment epoch of all nodes */
> - uint8_t pad[3];
> + uint8_t store[10];
> + uint8_t pad[1];
I prefer simply adding "uint8_t store[16]".
And, please increment SD_SHEEP_PROTO_VER because older sheeps cannot
coexist after merging this patch.
Thanks,
Kazutaka
More information about the sheepdog
mailing list