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.teru...@lab.ntt.co.jp>
---
 sheep/config.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

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@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to