From a6c176f14b109cee3d344fe775323859aa8f622e Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Thu, 17 Nov 2016 13:11:16 +0530 Subject: [PATCH 174/206] cli: Print to screen frequently Problem: CLI appears to be hung because XML document is not flushed periodically Fix: Flush the buffer as soon as we print something >BUG: 1395993 >Change-Id: Ic5f61d4c7d29ee162a124a049e60ceb810d6da6d >Signed-off-by: Pranith Kumar K >Reviewed-on: http://review.gluster.org/15863 >Smoke: Gluster Build System >NetBSD-regression: NetBSD Build System >CentOS-regression: Gluster Build System >Reviewed-by: Atin Mukherjee BUG: 1382686 Change-Id: Iea6dcc05ffb10a2cf198bf3075bebee8faa50eee Signed-off-by: Pranith Kumar K Reviewed-on: https://code.engineering.redhat.com/gerrit/90522 --- heal/src/glfs-heal.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c index e885dd9..2a85e75 100644 --- a/heal/src/glfs-heal.c +++ b/heal/src/glfs-heal.c @@ -119,6 +119,7 @@ glfsh_xml_init () /* */ xmlTextWriterStartElement (glfsh_writer, (xmlChar *)"bricks"); + xmlTextWriterFlush (glfsh_writer); xml_out: return ret; } @@ -217,7 +218,9 @@ glfsh_print_xml_heal_op_status (int ret, uint64_t num_entries, char *fmt_str) "%"PRIu64"", num_entries); } out: - return xmlTextWriterEndElement (glfsh_writer); + ret = xmlTextWriterEndElement (glfsh_writer); + xmlTextWriterFlush (glfsh_writer); + return ret; } void @@ -228,6 +231,7 @@ glfsh_print_xml_file_status (char *path, uuid_t gfid, char *status) "%s", uuid_utoa (gfid)); xmlTextWriterWriteFormatString (glfsh_writer, "%s", path); xmlTextWriterEndElement (glfsh_writer); + xmlTextWriterFlush (glfsh_writer); return; } @@ -268,6 +272,7 @@ print: remote_host ? remote_host : "-", remote_subvol ? remote_subvol : "-"); XML_RET_CHECK_AND_GOTO (x_ret, xml_out); + xmlTextWriterFlush (glfsh_writer); xml_out: return ret; } -- 2.9.3