summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2017-10-31 23:21:30 +0100
committerSimon Rettberg2017-10-31 23:21:30 +0100
commit858fef5c8fc0c1b4c237dc65499756c3664492d8 (patch)
tree9850f2f082f67f1258519d614e1edc5c6a5501d5
parent[SERVER] net.c: Refactoring and renaming (diff)
downloaddnbd3-858fef5c8fc0c1b4c237dc65499756c3664492d8.tar.gz
dnbd3-858fef5c8fc0c1b4c237dc65499756c3664492d8.tar.xz
dnbd3-858fef5c8fc0c1b4c237dc65499756c3664492d8.zip
[*] Mark logadd() as printf-style function, fix errors that it revealed
...there were quite a few format string errors as it turns out :/
-rw-r--r--src/fuse/main.c4
-rw-r--r--src/server/altservers.c2
-rw-r--r--src/server/image.c2
-rw-r--r--src/server/locks.c4
-rw-r--r--src/server/net.c7
-rw-r--r--src/shared/log.h3
-rw-r--r--src/shared/sockhelper.c2
7 files changed, 13 insertions, 11 deletions
diff --git a/src/fuse/main.c b/src/fuse/main.c
index 1f26595..e927541 100644
--- a/src/fuse/main.c
+++ b/src/fuse/main.c
@@ -228,10 +228,10 @@ static void* image_init(struct fuse_conn_info *conn UNUSED)
// Retrieve old handlers when setting
sigaction( SIGINT, &newHandler, &oldHandler );
fuse_sigIntHandler = oldHandler.sa_handler;
- logadd( LOG_DEBUG1, "Previous SIGINT handler was %p", fuse_sigIntHandler );
+ logadd( LOG_DEBUG1, "Previous SIGINT handler was %p", (void*)(uintptr_t)fuse_sigIntHandler );
sigaction( SIGTERM, &newHandler, &oldHandler );
fuse_sigTermHandler = oldHandler.sa_handler;
- logadd( LOG_DEBUG1, "Previous SIGTERM handler was %p", fuse_sigIntHandler );
+ logadd( LOG_DEBUG1, "Previous SIGTERM handler was %p", (void*)(uintptr_t)fuse_sigIntHandler );
return NULL;
}
diff --git a/src/server/altservers.c b/src/server/altservers.c
index b9394cf..28ea91e 100644
--- a/src/server/altservers.c
+++ b/src/server/altservers.c
@@ -519,7 +519,7 @@ static void *altservers_main(void *data UNUSED)
// Done testing all servers. See if we should switch
if ( bestSock != -1 && (uplink->fd == -1 || (bestRtt < 10000000 && RTT_THRESHOLD_FACTOR(currentRtt) > bestRtt)) ) {
// yep
- logadd( LOG_DEBUG1, "Change @ %s - best: %uµs, current: %uµs\n", image->name, bestRtt, currentRtt );
+ logadd( LOG_DEBUG1, "Change @ %s - best: %luµs, current: %luµs\n", image->name, bestRtt, currentRtt );
spin_lock( &uplink->rttLock );
uplink->betterFd = bestSock;
uplink->betterServer = servers[bestIndex];
diff --git a/src/server/image.c b/src/server/image.c
index adfbb93..e356dbf 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -992,7 +992,7 @@ static uint8_t* image_loadCacheMap(const char * const imagePath, const int64_t f
retval = calloc( 1, map_size );
const ssize_t rd = read( fdMap, retval, map_size );
if ( map_size != rd ) {
- logadd( LOG_WARNING, "Could only read %d of expected %d bytes of cache map of '%s'", (int)rd, (int)map_size, fileSize );
+ logadd( LOG_WARNING, "Could only read %d of expected %d bytes of cache map of '%s'", (int)rd, (int)map_size, imagePath );
// Could not read complete map, that means the rest of the image file will be considered incomplete
}
close( fdMap );
diff --git a/src/server/locks.c b/src/server/locks.c
index 3bd5103..71a1845 100644
--- a/src/server/locks.c
+++ b/src/server/locks.c
@@ -105,7 +105,7 @@ int debug_spin_lock(const char *name, const char *file, int line, pthread_spinlo
}
pthread_spin_unlock( &initdestory );
if ( t == NULL ) {
- logadd( LOG_ERROR, "Lock sanity check: Too many waiting threads at %s:%d\n", (void*)lock, name, file, line );
+ logadd( LOG_ERROR, "Lock sanity check: Too many waiting threads for lock %p (%s) at %s:%d\n", (void*)lock, name, file, line );
exit( 4 );
}
const int retval = pthread_spin_lock( lock );
@@ -155,7 +155,7 @@ int debug_spin_trylock(const char *name, const char *file, int line, pthread_spi
}
pthread_spin_unlock( &initdestory );
if ( t == NULL ) {
- logadd( LOG_ERROR, "Lock sanity check: Too many waiting threads at %s:%d\n", (void*)lock, name, file, line );
+ logadd( LOG_ERROR, "Lock sanity check: Too many waiting threads for %p (%s) at %s:%d\n", (void*)lock, name, file, line );
exit( 4 );
}
const int retval = pthread_spin_trylock( lock );
diff --git a/src/server/net.c b/src/server/net.c
index ee30697..e4ec666 100644
--- a/src/server/net.c
+++ b/src/server/net.c
@@ -40,6 +40,7 @@
#include <sys/uio.h>
#endif
#include <jansson.h>
+#include <inttypes.h>
static dnbd3_client_t *_clients[SERVER_MAX_CLIENTS];
static int _num_clients = 0;
@@ -77,7 +78,7 @@ static inline bool recv_request_header(int sock, dnbd3_request_t *request)
if ( errno == EINTR && ++fails < 10 ) continue;
if ( ret >= 0 || ++fails > SOCKET_TIMEOUT_CLIENT_RETRIES ) return false;
if ( errno == EAGAIN ) continue;
- logadd( LOG_DEBUG1, "Error receiving request: Could not read message header (%d/%d, e=%d)\n", ret, (int)sizeof(*request), errno );
+ logadd( LOG_DEBUG1, "Error receiving request: Could not read message header (%d/%d, e=%d)\n", (int)ret, (int)sizeof(*request), errno );
return false;
}
// Make sure all bytes are in the right order (endianness)
@@ -122,7 +123,7 @@ static inline bool recv_request_payload(int sock, uint32_t size, serialized_buff
*/
static inline bool send_reply(int sock, dnbd3_reply_t *reply, void *payload)
{
- const size_t size = reply->size;
+ const uint32_t size = reply->size;
fixup_reply( *reply );
if ( sock_sendAll( sock, reply, sizeof(dnbd3_reply_t), 1 ) != sizeof(dnbd3_reply_t) ) {
logadd( LOG_DEBUG1, "Sending reply header to client failed" );
@@ -130,7 +131,7 @@ static inline bool send_reply(int sock, dnbd3_reply_t *reply, void *payload)
}
if ( size != 0 && payload != NULL ) {
if ( sock_sendAll( sock, payload, size, 1 ) != (ssize_t)size ) {
- logadd( LOG_DEBUG1, "Sending payload of %u bytes to client failed", size );
+ logadd( LOG_DEBUG1, "Sending payload of %"PRIu32" bytes to client failed", size );
return false;
}
}
diff --git a/src/shared/log.h b/src/shared/log.h
index f273cab..74b3511 100644
--- a/src/shared/log.h
+++ b/src/shared/log.h
@@ -45,7 +45,8 @@ bool log_openLogFile(const char *path);
/**
* Add a line to the log
*/
-void logadd(const logmask_t mask, const char *text, ...);
+void logadd(const logmask_t mask, const char *text, ...)
+ __attribute__ ((format (printf, 2, 3)));
/**
* Return last size bytes of log.
diff --git a/src/shared/sockhelper.c b/src/shared/sockhelper.c
index 6fc7f46..1e34462 100644
--- a/src/shared/sockhelper.c
+++ b/src/shared/sockhelper.c
@@ -235,7 +235,7 @@ bool sock_listen(poll_list_t* list, char* bind_addr, uint16_t port)
continue;
}
if ( listen( sock, 20 ) == -1 ) {
- logadd( LOG_WARNING, "(Bind to %s): cannot listen(), errno=%d", errno );
+ logadd( LOG_WARNING, "(Bind to %s): cannot listen(), errno=%d", bla, errno );
close( sock );
continue;
}