From 26cedae57d5b7cb8d50ed077ce29c92e30d6e260 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Wed, 16 Feb 2011 01:48:03 +0000 Subject: glusterd-volgen: fix a issue of wrongly closing '0' fd. Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati BUG: 2421 ([glusterfs-3.1.2gsync10]: epoll_create returning 0) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2421 --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 4de6263629d..2933b1d8b7a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1474,14 +1474,17 @@ generate_brick_volfiles (glusterd_volinfo_t *volinfo) if (marker) { ret = open (tstamp_file, O_WRONLY|O_CREAT|O_EXCL, 0644); - if (ret == -1 && errno == EEXIST) - ret = 0; + if (ret == -1 && errno == EEXIST) { + gf_log ("", GF_LOG_DEBUG, "timestamp file exist"); + ret = -2; + } if (ret == -1) { gf_log ("", GF_LOG_ERROR, "failed to create %s (%s)", tstamp_file, strerror (errno)); return -1; } - close (ret); + if (ret >= 0) + close (ret); } else { ret = unlink (tstamp_file); if (ret == -1 && errno == ENOENT) -- cgit