diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2017-02-22 13:55:00 -0500 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2017-02-23 14:13:57 -0500 |
commit | 47da9260c51d5a7b066fa9f982f3bd6aef9c64f3 (patch) | |
tree | 524a4b224cc7c16346697cc763701768f09cb4a5 /api/src/glfs.c | |
parent | c1d197c15a836c0131d4d4559e5fdf7394c97963 (diff) |
gfapi: OBS build fails in post build analysis
Originally gfapi: create statedump when glusterd requests it
When GlusterD sends the STATEDUMP procedure to the libgfapi client, the
client checks if it matches the PID that should take the statedump. If
so, it will do a statedump for the glfs_t that is connected to this mgmt
connection.
See https://bugzilla.redhat.com/show_bug.cgi?id=1169302#c25 for the
OpenSuSE Build System post build analysis error.
See Change-Id: I70d6a1f4f19d525377aebc8fa57f51e513b92d84
https://review.gluster.org/#/c/16415/
Change-Id: I7775f44ce13e20c831e8f1015816a28471d35bb4
BUG: 1169302
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: https://review.gluster.org/16722
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'api/src/glfs.c')
-rw-r--r-- | api/src/glfs.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/api/src/glfs.c b/api/src/glfs.c index a1c8f6f54cb..bd59027236a 100644 --- a/api/src/glfs.c +++ b/api/src/glfs.c @@ -1476,6 +1476,8 @@ pub_glfs_sysrq (struct glfs *fs, char sysrq) { glusterfs_ctx_t *ctx = NULL; int ret = 0; + char msg[1024] = {0,}; /* should not exceed 1024 chars */ + size_t rem = sizeof (msg); if (!fs || !fs->ctx) { ret = -1; @@ -1488,13 +1490,12 @@ pub_glfs_sysrq (struct glfs *fs, char sysrq) switch (sysrq) { case GLFS_SYSRQ_HELP: { - char msg[1024]; /* help text should not exceed 1024 chars */ struct glfs_sysrq_help *usage; - msg[0] = '\0'; for (usage = glfs_sysrq_help; usage->sysrq; usage++) { - strncat (msg, usage->msg, 1024); - strncat (msg, " ", 1024); + strncat (msg, usage->msg, rem); + rem -= strlen (usage->msg); + strncat (msg, " ", rem--); } /* not really an 'error', but make sure it gets logged */ |