From c58d3c5a102f97c6014b9a6342e6f7afd3a5cf5c Mon Sep 17 00:00:00 2001 From: Frank Zago Date: Fri, 20 Mar 2015 15:37:13 -0500 Subject: [PATCH] LU-6394 all: fix compilation errors with FORTIFY_SOURCE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When Lustre is configured with CFLAGS="-D_FORTIFY_SOURCE=2 -O2" on Centos 6, the compilation will fails with errors such as this one: cacheio.c: In function ‘qword_printhex’: cacheio.c:174: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result Signed-off-by: frank zago Change-Id: Ie06fd5a26b62daf62bfd0133a2d7ebc66ece5be6 Reviewed-on: http://review.whamcloud.com/14126 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Dmitry Eremin Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- lustre/tests/llapi_fid_test.c | 5 ++++- lustre/utils/gss/cacheio.c | 16 ++++++++++++---- lustre/utils/gss/cacheio.h | 4 ++-- lustre/utils/gss/context_lucid.c | 2 +- lustre/utils/gss/svcgssd.c | 3 ++- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lustre/tests/llapi_fid_test.c b/lustre/tests/llapi_fid_test.c index 6d08f61..e7d18f9 100644 --- a/lustre/tests/llapi_fid_test.c +++ b/lustre/tests/llapi_fid_test.c @@ -92,7 +92,10 @@ static void cleanup(void) rc = snprintf(cmd, sizeof(cmd), "rm -rf -- '%s'", mainpath); ASSERTF(rc > 0 && rc < sizeof(cmd), "invalid delete command for path '%s'", mainpath); - system(cmd); + rc = system(cmd); + ASSERTF(rc != -1, "Cannot execute rm command"); + ASSERTF(WEXITSTATUS(rc) == 0, + "rm command returned %d", WEXITSTATUS(rc)); } /* Helper - call path2fid, fd2fid and fid2path against an existing diff --git a/lustre/utils/gss/cacheio.c b/lustre/utils/gss/cacheio.c index 0a268d4..93eada7 100644 --- a/lustre/utils/gss/cacheio.c +++ b/lustre/utils/gss/cacheio.c @@ -154,28 +154,36 @@ void qword_addeol(char **bpp, int *lp) static char qword_buf[8192]; static char tmp_buf[8192]; -void qword_print(FILE *f, char *str) +int qword_print(FILE *f, char *str) { char *bp = qword_buf; int len = sizeof(qword_buf); + size_t sret; + qword_add(&bp, &len, str); - fwrite(qword_buf, bp-qword_buf, 1, f); + sret = fwrite(qword_buf, bp-qword_buf, 1, f); /* XXX: */ memcpy(tmp_buf, qword_buf, bp-qword_buf); tmp_buf[bp-qword_buf] = '\0'; printerr(2, "%s", tmp_buf); + + return sret != 1; } -void qword_printhex(FILE *f, char *str, int slen) +int qword_printhex(FILE *f, char *str, int slen) { char *bp = qword_buf; int len = sizeof(qword_buf); + size_t sret; + qword_addhex(&bp, &len, str, slen); - fwrite(qword_buf, bp-qword_buf, 1, f); + sret = fwrite(qword_buf, bp-qword_buf, 1, f); /* XXX: */ memcpy(tmp_buf, qword_buf, bp-qword_buf); tmp_buf[bp-qword_buf] = '\0'; printerr(2, "%s", tmp_buf); + + return sret != 1; } void qword_printint(FILE *f, int num) diff --git a/lustre/utils/gss/cacheio.h b/lustre/utils/gss/cacheio.h index 6585fc7..4e2da47 100644 --- a/lustre/utils/gss/cacheio.h +++ b/lustre/utils/gss/cacheio.h @@ -38,8 +38,8 @@ void qword_addhex(char **bpp, int *lp, char *buf, int blen); void qword_addint(char **bpp, int *lp, int n); void qword_adduint(char **bpp, int *lp, unsigned int n); void qword_addeol(char **bpp, int *lp); -void qword_print(FILE *f, char *str); -void qword_printhex(FILE *f, char *str, int slen); +int qword_print(FILE *f, char *str); +int qword_printhex(FILE *f, char *str, int slen); void qword_printint(FILE *f, int num); int qword_eol(FILE *f); int readline(int fd, char **buf, int *lenp); diff --git a/lustre/utils/gss/context_lucid.c b/lustre/utils/gss/context_lucid.c index c5241cc..1f69818 100644 --- a/lustre/utils/gss/context_lucid.c +++ b/lustre/utils/gss/context_lucid.c @@ -263,7 +263,7 @@ derive_key_lucid(const gss_krb5_lucid_key_t *in, gss_krb5_lucid_key_t *out, krb5_error_code code; unsigned char constant_data[K5CLENGTH]; krb5_data datain; - int keylength; + int keylength __attribute__ ((unused)); #ifdef HAVE_KRB5 void *enc; #endif diff --git a/lustre/utils/gss/svcgssd.c b/lustre/utils/gss/svcgssd.c index cebd852..457d991 100644 --- a/lustre/utils/gss/svcgssd.c +++ b/lustre/utils/gss/svcgssd.c @@ -149,9 +149,10 @@ static void release_parent() { int status; + ssize_t sret __attribute__ ((unused)); if (pipefds[1] > 0) { - write(pipefds[1], &status, 1); + sret = write(pipefds[1], &status, 1); close(pipefds[1]); pipefds[1] = -1; } -- 1.8.3.1