[sheepdog] Why creating config if the file is not found or empty?
Hitoshi Mitake
mitake.hitoshi at gmail.com
Tue Jun 10 09:06:08 CEST 2014
Hi Ruoyu,
At Tue, 10 Jun 2014 10:14:56 +0800,
Ruoyu wrote:
>
> Hi Hitoshi,
>
> As titled, once one of the two conditions is matched, sheep process
> create a new config file.
> However, cluster info is not assigned at this time so that sheep will
> crash at one of the following step.
> Why not directly reporting error message and return -1?
I think the two condition can be true when user removes or breaks
config file mistakenly even after cluster format. But I agree with
your proposal because current behavior is really confusing.
Thanks,
Hitoshi
>
>
> int init_config_file(void)
> {
> int fd, ret;
>
> check_tmp_config();
>
> fd = open(config_path, O_RDONLY);
> if (fd < 0) {
> if (errno != ENOENT) {
> sd_err("failed to read config file, %m");
> return -1;
> }
> goto create;
> }
>
> ret = xread(fd, &config, sizeof(config));
> if (ret == 0) {
> close(fd);
> goto create;
> }
> if (ret < 0) {
> sd_err("failed to read config file, %m");
> goto out;
> }
> ...
> }
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
More information about the sheepdog
mailing list