summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/store.c
diff options
context:
space:
mode:
authorGaurav Yadav <gyadav@redhat.com>2017-08-18 19:46:47 +0530
committerShyamsundar Ranganathan <srangana@redhat.com>2017-08-29 13:52:37 +0000
commit5b0c2b45144b620507a00df7488966abb979fd20 (patch)
tree00d3554375d1711f8d0ef57412966041f854a6fc /libglusterfs/src/store.c
parent4d7f81c4ff3c42e84bfa65cf71755bc3553bc02c (diff)
glusterd: glusterd fails to start if peers file has blank line
Problem: On start of glusterd service, glusterd fetch data from store, while parsing data from store if peers file consists of blank line glusterd fails to start. Fix: With this fix while parsing peers file glusterd will skip blank lines if it contains any. >Reviewed-on: https://review.gluster.org/18066 >Tested-by: Gaurav Yadav <gyadav@redhat.com> >Smoke: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: Prashanth Pai <ppai@redhat.com> >CentOS-regression: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: Atin Mukherjee <amukherj@redhat.com> >Reviewed-by: Niels de Vos <ndevos@redhat.com> Change-Id: I53cd65a54de5f57baef292b2118b70ffb7f99388 BUG: 1486107 Signed-off-by: Gaurav Yadav <gyadav@redhat.com> Reviewed-on: https://review.gluster.org/18124 Reviewed-by: Prashanth Pai <ppai@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Diffstat (limited to 'libglusterfs/src/store.c')
-rw-r--r--libglusterfs/src/store.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libglusterfs/src/store.c b/libglusterfs/src/store.c
index 199ba2960d1..e805f20bb4c 100644
--- a/libglusterfs/src/store.c
+++ b/libglusterfs/src/store.c
@@ -195,6 +195,7 @@ gf_store_read_and_tokenize (FILE *file, char *str, int size, char **iter_key,
GF_ASSERT (iter_val);
GF_ASSERT (store_errno);
+retry:
temp = fgets (str, size, file);
if (temp == NULL || feof (file)) {
ret = -1;
@@ -202,6 +203,9 @@ gf_store_read_and_tokenize (FILE *file, char *str, int size, char **iter_key,
goto out;
}
+ if (strcmp (str, "\n") == 0)
+ goto retry;
+
str_len = strlen(str);
str[str_len - 1] = '\0';
/* Truncate the "\n", as fgets stores "\n" in str */