[sheepdog] [PATCH] sheep: fix bug for not saving block_size_shift to cluster config

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Wed Dec 17 02:31:06 CET 2014


At Tue, 16 Dec 2014 19:32:17 +0900,
Teruaki Ishizaki wrote:
> 
> This patch fixes bugs that block_size_shift info was forgotten
> after cluster shutdown and start sheepdog.
> 
> Add block_size_shift info to cluster config file.
> 
> Signed-off-by: Teruaki Ishizaki <ishizaki.teruaki at lab.ntt.co.jp>
> ---
>  sheep/config.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)

Applied, thanks.
Hitoshi

> 
> diff --git a/sheep/config.c b/sheep/config.c
> index 383a1ed..dfad5fd 100644
> --- a/sheep/config.c
> +++ b/sheep/config.c
> @@ -11,7 +11,7 @@
>  
>  #include "sheep_priv.h"
>  
> -#define SD_FORMAT_VERSION 0x0005
> +#define SD_FORMAT_VERSION 0x0006
>  #define SD_CONFIG_SIZE 40
>  
>  static struct sheepdog_config {
> @@ -21,7 +21,7 @@ static struct sheepdog_config {
>  	uint8_t store[STORE_LEN];
>  	uint8_t shutdown;
>  	uint8_t copy_policy;
> -	uint8_t __pad;
> +	uint8_t block_size_shift;
>  	uint16_t version;
>  	uint64_t space;
>  } config;
> @@ -64,6 +64,7 @@ static int get_cluster_config(struct cluster_info *cinfo)
>  	cinfo->nr_copies = config.copies;
>  	cinfo->flags = config.flags;
>  	cinfo->copy_policy = config.copy_policy;
> +	cinfo->block_size_shift = config.block_size_shift;
>  	memcpy(cinfo->store, config.store, sizeof(config.store));
>  
>  	return SD_RES_SUCCESS;
> @@ -155,6 +156,7 @@ int set_cluster_config(const struct cluster_info *cinfo)
>  	config.copies = cinfo->nr_copies;
>  	config.copy_policy = cinfo->copy_policy;
>  	config.flags = cinfo->flags;
> +	config.block_size_shift = cinfo->block_size_shift;
>  	memset(config.store, 0, sizeof(config.store));
>  	pstrcpy((char *)config.store, sizeof(config.store),
>  		(char *)cinfo->store);
> -- 
> 1.7.1
> 
> -- 
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog



More information about the sheepdog mailing list