From: Hitoshi Mitake <mitake.hito...@gmail.com> The journaling support for config cannot work well because it causes deadlock in the initialization sequence of sheep.
Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp> --- sheep/config.c | 14 +------------- sheep/journal.c | 17 ----------------- 2 files changed, 1 insertions(+), 30 deletions(-) diff --git a/sheep/config.c b/sheep/config.c index 63c1e81..49916e7 100644 --- a/sheep/config.c +++ b/sheep/config.c @@ -36,20 +36,8 @@ char *config_path; static int write_config(void) { int fd, ret; - int flags = O_RDWR | O_CREAT | O_DSYNC; - - if (uatomic_is_true(&sys->use_journal) && - journal_write_config((char *)&config, sizeof(config)) - != SD_RES_SUCCESS) { - sd_eprintf("turn off journaling"); - uatomic_set_false(&sys->use_journal); - sync(); - } - - if (uatomic_is_true(&sys->use_journal)) - flags &= ~O_DSYNC; - fd = open(config_path, flags, def_fmode); + fd = open(config_path, O_RDWR | O_CREAT | O_DSYNC, def_fmode); if (fd < 0) { sd_eprintf("failed to open config file, %m"); return SD_RES_EIO; diff --git a/sheep/journal.c b/sheep/journal.c index be1a6b7..aa07721 100644 --- a/sheep/journal.c +++ b/sheep/journal.c @@ -52,7 +52,6 @@ struct journal_descriptor { #define JF_STORE 0 #define JF_EPOCH 1 -#define JF_CONFIG 2 static const char *jfile_name[2] = { "journal_file0", "journal_file1", }; static int jfile_fds[2]; @@ -150,10 +149,6 @@ static void journal_get_path(struct journal_descriptor *jd, char *path) sd_iprintf("%s, %"PRIu32" size %"PRIu64, path, jd->epoch, jd->size); break; - case JF_CONFIG: - snprintf(path, PATH_MAX, "%s", config_path); - sd_iprintf("%s, size %"PRIu64, path, jd->size); - break; } } @@ -441,15 +436,3 @@ int journal_write_epoch(const char *buf, size_t size, uint32_t epoch) jd.epoch = epoch; return journal_file_write(&jd, buf); } - -int journal_write_config(const char *buf, size_t size) -{ - struct journal_descriptor jd = { - .magic = JOURNAL_DESC_MAGIC, - .flag = JF_CONFIG, - .offset = 0, - .size = size, - .create = true, - }; - return journal_file_write(&jd, buf); -} -- 1.7.2.5 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog