From e7f737e62a9ea9eac730b6ba3ef8739e497e1540 Mon Sep 17 00:00:00 2001 From: Gaurav Kumar Garg Date: Mon, 1 Jun 2015 14:35:57 +0530 Subject: libglusterfs: write error handling when filesystem have no space left When no space left on filesystem and user want to perform any operation which result to change in /var/lib/glusterd/* files then glusterd is failing to write on temporary file. Fix is to handle error when write failed on temporary files due to no space left on file system. Change-Id: I79d595776b42580da35e1282b4a3cd7fe3d14afe BUG: 1226829 Signed-off-by: Gaurav Kumar Garg Reviewed-on: http://review.gluster.org/11029 Reviewed-by: Niels de Vos Tested-by: NetBSD Build System Tested-by: Gluster Build System Reviewed-by: Cedric Buissart --- libglusterfs/src/store.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libglusterfs/src/store.c b/libglusterfs/src/store.c index 84a9df81fd7..daa57101a46 100644 --- a/libglusterfs/src/store.c +++ b/libglusterfs/src/store.c @@ -339,15 +339,15 @@ gf_store_save_value (int fd, char *key, char *value) fp = fdopen (dup_fd, "a+"); if (fp == NULL) { - gf_msg ("", GF_LOG_WARNING, errno, LG_MSG_FILE_OP_FAILED, "fdopen " - "failed."); + gf_msg (THIS->name, GF_LOG_WARNING, errno, + LG_MSG_FILE_OP_FAILED, "fdopen failed."); ret = -1; goto out; } ret = fprintf (fp, "%s=%s\n", key, value); if (ret < 0) { - gf_msg ("", GF_LOG_WARNING, errno, LG_MSG_FILE_OP_FAILED, + gf_msg (THIS->name, GF_LOG_WARNING, errno, LG_MSG_FILE_OP_FAILED, "Unable to store key: %s, value: %s.", key, value); ret = -1; @@ -355,8 +355,8 @@ gf_store_save_value (int fd, char *key, char *value) } ret = fflush (fp); - if (feof (fp)) { - gf_msg ("", GF_LOG_WARNING, errno, LG_MSG_FILE_OP_FAILED, + if (ret) { + gf_msg (THIS->name, GF_LOG_WARNING, errno, LG_MSG_FILE_OP_FAILED, "fflush failed."); ret = -1; goto out; @@ -367,7 +367,7 @@ out: if (fp) fclose (fp); - gf_msg_debug ("", 0, "returning: %d", ret); + gf_msg_debug (THIS->name, 0, "returning: %d", ret); return ret; } -- cgit