summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2016-03-22 15:58:13 +0100
committerSimon Rettberg2016-03-22 15:58:13 +0100
commit549a53070ae03b47e11943727afe4f8927cb6c42 (patch)
tree58aa2d01553a862964040f1e160b9366c1f2a8fc
parent[SERVER] (FreeBSD) Unlock send mutex on sendfile error (diff)
downloaddnbd3-549a53070ae03b47e11943727afe4f8927cb6c42.tar.gz
dnbd3-549a53070ae03b47e11943727afe4f8927cb6c42.tar.xz
dnbd3-549a53070ae03b47e11943727afe4f8927cb6c42.zip
[SERVER] Fix formatting
-rw-r--r--src/server/altservers.c12
-rw-r--r--src/server/helper.c13
-rw-r--r--src/server/image.c6
-rw-r--r--src/server/locks.c4
-rw-r--r--src/server/net.c38
-rw-r--r--src/server/server.c30
-rw-r--r--src/server/uplink.c6
-rw-r--r--src/shared/protocol.h2
-rw-r--r--src/types.h4
9 files changed, 58 insertions, 57 deletions
diff --git a/src/server/altservers.c b/src/server/altservers.c
index bccf758..9413421 100644
--- a/src/server/altservers.c
+++ b/src/server/altservers.c
@@ -265,8 +265,8 @@ static unsigned int altservers_updateRtt(const dnbd3_host_t * const host, const
if ( !isSameAddressPort( host, &altServers[i].host ) ) continue;
altServers[i].rtt[++altServers[i].rttIndex % SERVER_RTT_PROBES] = rtt;
#if SERVER_RTT_PROBES == 5
- avg = (altServers[i].rtt[0] + altServers[i].rtt[1] + altServers[i].rtt[2] + altServers[i].rtt[3] + altServers[i].rtt[4])
- / SERVER_RTT_PROBES;
+ avg = (altServers[i].rtt[0] + altServers[i].rtt[1] + altServers[i].rtt[2]
+ + altServers[i].rtt[3] + altServers[i].rtt[4]) / SERVER_RTT_PROBES;
#else
#warning You might want to change the code in altservers_update_rtt if you changed SERVER_RTT_PROBES
avg = 0;
@@ -436,11 +436,11 @@ static void *altservers_main(void *data UNUSED)
}
if ( rid != image->rid ) {
ERROR_GOTO( server_failed, "[RTT] Server provides rid %d, requested was %d (%s)",
- (int)rid, (int)image->rid, image->name );
+ (int)rid, (int)image->rid, image->name );
}
if ( imageSize != image->virtualFilesize ) {
ERROR_GOTO( server_failed, "[RTT] Remote size: %" PRIu64 ", expected: %" PRIu64 " (%s)",
- imageSize, image->virtualFilesize, image->name );
+ imageSize, image->virtualFilesize, image->name );
}
// Request first block (NOT random!) ++++++++++++++++++++++++++++++
fixup_request( request );
@@ -452,12 +452,12 @@ static void *altservers_main(void *data UNUSED)
char buf[100] = { 0 };
host_to_string( &servers[itAlt], buf, 100 );
ERROR_GOTO( server_failed, "[RTT] Received corrupted reply header (%s) after CMD_GET_BLOCK (%s)",
- buf, image->name );
+ buf, image->name );
}
// check reply header
if ( reply.cmd != CMD_GET_BLOCK || reply.size != DNBD3_BLOCK_SIZE ) {
ERROR_GOTO( server_failed, "[RTT] Reply to first block request is %d bytes for %s",
- reply.size, image->name );
+ reply.size, image->name );
}
if ( recv( sock, buffer, DNBD3_BLOCK_SIZE, MSG_WAITALL ) != DNBD3_BLOCK_SIZE ) {
ERROR_GOTO( server_failed, "[RTT] Could not read first block payload for %s", image->name );
diff --git a/src/server/helper.c b/src/server/helper.c
index 40d22f0..fd29e9f 100644
--- a/src/server/helper.c
+++ b/src/server/helper.c
@@ -133,10 +133,11 @@ void setThreadName(const char *name)
void blockNoncriticalSignals()
{
sigset_t sigmask;
- sigemptyset(&sigmask);
- sigaddset(&sigmask, SIGUSR1);
- sigaddset(&sigmask, SIGUSR2);
- sigaddset(&sigmask, SIGHUP);
- sigaddset(&sigmask, SIGPIPE);
- pthread_sigmask(SIG_BLOCK, &sigmask, NULL);
+ sigemptyset( &sigmask );
+ sigaddset( &sigmask, SIGUSR1 );
+ sigaddset( &sigmask, SIGUSR2 );
+ sigaddset( &sigmask, SIGHUP );
+ sigaddset( &sigmask, SIGPIPE );
+ pthread_sigmask( SIG_BLOCK, &sigmask, NULL );
}
+
diff --git a/src/server/image.c b/src/server/image.c
index 3d4aab6..1c0741a 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -739,7 +739,7 @@ static bool image_load(char *base, char *path, int withUplink)
logadd( LOG_WARNING, "Size of image '%s:%d' has changed.", existing->name, (int)existing->rid );
// Image will be replaced below
} else if ( existing->crc32 != NULL && crc32list != NULL
- && memcmp( existing->crc32, crc32list, sizeof(uint32_t) * hashBlockCount ) != 0 ) {
+ && memcmp( existing->crc32, crc32list, sizeof(uint32_t) * hashBlockCount ) != 0 ) {
logadd( LOG_WARNING, "CRC32 list of image '%s:%d' has changed.", existing->name, (int)existing->rid );
logadd( LOG_WARNING, "The image will be reloaded, but you should NOT replace existing images while the server is running." );
logadd( LOG_WARNING, "Actually even if it's not running this should never be done. Use a new RID instead!" );
@@ -1522,11 +1522,11 @@ static bool image_ensureDiskSpace(uint64_t size)
if ( (uint64_t)available > size ) return true;
if ( dnbd3_serverUptime() < 10 * 3600 ) {
logadd( LOG_INFO, "Only %dMiB free, %dMiB requested, but server uptime < 10 hours...", (int)(available / (1024ll * 1024ll)),
- (int)(size / (1024 * 1024)) );
+ (int)(size / (1024 * 1024)) );
return false;
}
logadd( LOG_INFO, "Only %dMiB free, %dMiB requested, freeing an image...", (int)(available / (1024ll * 1024ll)),
- (int)(size / (1024 * 1024)) );
+ (int)(size / (1024 * 1024)) );
// Find least recently used image
dnbd3_image_t *oldest = NULL;
int i; // XXX improve locking
diff --git a/src/server/locks.c b/src/server/locks.c
index 6996c22..3d7083e 100644
--- a/src/server/locks.c
+++ b/src/server/locks.c
@@ -231,7 +231,7 @@ void debug_dump_lock_stats()
"* Locked: %d\n"
"* Serial: %d\n"
"* Thread: %d\n", locks[i].name, locks[i].where, (int)(now - locks[i].locktime), (int)locks[i].locked, locks[i].lockId,
- (int)locks[i].thread );
+ (int)locks[i].thread );
} else {
printf( "* *** %s ***\n"
"* Where: %s\n"
@@ -251,7 +251,7 @@ void debug_dump_lock_stats()
static void *debug_thread_watchdog(void *something UNUSED)
{
- setThreadName("debug-watchdog");
+ setThreadName( "debug-watchdog" );
while ( !_shutdown ) {
if ( init_done ) {
time_t now = time( NULL );
diff --git a/src/server/net.c b/src/server/net.c
index 7e8bf37..cc4c18b 100644
--- a/src/server/net.c
+++ b/src/server/net.c
@@ -59,7 +59,7 @@ static inline bool recv_request_header(int sock, dnbd3_request_t *request)
{
int ret, fails = 0;
// Read request header from socket
- while ( (ret = recv( sock, request, sizeof(*request), MSG_WAITALL )) != sizeof(*request) ) {
+ while ( ( ret = recv( sock, request, sizeof(*request), MSG_WAITALL ) ) != sizeof(*request) ) {
if ( errno == EINTR && ++fails < 10 ) continue;
if ( ret >= 0 || ++fails > SOCKET_TIMEOUT_SERVER_RETRIES ) return false;
if ( errno == EAGAIN ) continue;
@@ -359,18 +359,18 @@ void *net_client_handler(void *dnbd3_client)
}
while ( done < realBytes ) {
#ifdef __linux__
- const ssize_t ret = sendfile(client->sock, image_file, &offset, realBytes - done);
- if (ret <= 0) {
+ const ssize_t ret = sendfile( client->sock, image_file, &offset, realBytes - done );
+ if ( ret <= 0 ) {
const int err = errno;
- if (lock) pthread_mutex_unlock(&client->sendMutex);
- if (ret == -1) {
- if (err != EPIPE && err != ECONNRESET && err != ESHUTDOWN
- && err != EAGAIN && err != EWOULDBLOCK) {
- logadd(LOG_DEBUG1, "sendfile to %s failed (image to net. sent %d/%d, errno=%d)",
- client->hostName, (int) done, (int) realBytes, err);
+ if ( lock ) pthread_mutex_unlock( &client->sendMutex );
+ if ( ret == -1 ) {
+ if ( err != EPIPE && err != ECONNRESET && err != ESHUTDOWN
+ && err != EAGAIN && err != EWOULDBLOCK ) {
+ logadd( LOG_DEBUG1, "sendfile to %s failed (image to net. sent %d/%d, errno=%d)",
+ client->hostName, (int)done, (int)realBytes, err );
}
- if (err == EBADF || err == EFAULT || err == EINVAL || err == EIO) {
- logadd(LOG_INFO, "Disabling %s:%d", image->name, image->rid);
+ if ( err == EBADF || err == EFAULT || err == EINVAL || err == EIO ) {
+ logadd( LOG_INFO, "Disabling %s:%d", image->name, image->rid );
image->working = false;
}
}
@@ -382,30 +382,30 @@ void *net_client_handler(void *dnbd3_client)
int ret = sendfile( image_file, client->sock, offset, realBytes - done, NULL, &sent, 0 );
const int err = errno;
if ( ret < 0 ) {
- if (err == EAGAIN) {
+ if ( err == EAGAIN ) {
done += sent;
continue;
}
if ( ret == -1 ) {
if ( lock ) pthread_mutex_unlock( &client->sendMutex );
if ( err != EPIPE && err != ECONNRESET && err != ESHUTDOWN
- && err != EAGAIN && err != EWOULDBLOCK ) {
- logadd( LOG_DEBUG1, "sendfile to %s failed (image to net. sent %d/%d, errno=%d)",
- client->hostName, (int)done, (int)realBytes, err );
+ && err != EAGAIN && err != EWOULDBLOCK ) {
+ logadd( LOG_DEBUG1, "sendfile to %s failed (image to net. sent %d/%d, errno=%d)",
+ client->hostName, (int)done, (int)realBytes, err );
}
if ( err == EBADF || err == EFAULT || err == EINVAL || err == EIO ) {
- logadd( LOG_INFO, "Disabling %s:%d", image->name, image->rid );
- image->working = false;
+ logadd( LOG_INFO, "Disabling %s:%d", image->name, image->rid );
+ image->working = false;
}
}
goto exit_client_cleanup;
} else {
done += sent;
- if (sent == 0) break;
+ if ( sent == 0 ) break;
}
#endif
}
- logadd(LOG_DEBUG2, "Send %i to %s", realBytes, client->hostName);
+ logadd( LOG_DEBUG2, "Send %i to %s", realBytes, client->hostName );
if ( request.size > (uint32_t)realBytes ) {
if ( !sendPadding( client->sock, request.size - (uint32_t)realBytes ) ) {
if ( lock ) pthread_mutex_unlock( &client->sendMutex );
diff --git a/src/server/server.c b/src/server/server.c
index 674abce..4fa4be8 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -1,4 +1,4 @@
-/*
+ /*
* This file is part of the Distributed Network Block Device 3
*
* Copyright(c) 2011-2012 Johann Latocha <johann@latocha.de>
@@ -172,20 +172,20 @@ int main(int argc, char *argv[])
int paramRevision = -1;
static const char *optString = "c:d:b:nrsihv?";
static const struct option longOpts[] = {
- { "config", required_argument, NULL, 'c' },
- { "nodaemon", no_argument, NULL, 'n' },
- { "reload", no_argument, NULL, 'r' },
- { "stop", no_argument, NULL, 's' },
- { "info", no_argument, NULL, 'i' },
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'v' },
- { "bind", required_argument, NULL, 'b' },
- { "crc", required_argument, NULL, LONGOPT_CRC4 },
- { "assert", no_argument, NULL, LONGOPT_ASSERT },
- { "create", required_argument, NULL, LONGOPT_CREATE },
- { "revision", required_argument, NULL, LONGOPT_REVISION },
- { "size", required_argument, NULL, LONGOPT_SIZE },
- { 0, 0, 0, 0 }
+ { "config", required_argument, NULL, 'c' },
+ { "nodaemon", no_argument, NULL, 'n' },
+ { "reload", no_argument, NULL, 'r' },
+ { "stop", no_argument, NULL, 's' },
+ { "info", no_argument, NULL, 'i' },
+ { "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, 'v' },
+ { "bind", required_argument, NULL, 'b' },
+ { "crc", required_argument, NULL, LONGOPT_CRC4 },
+ { "assert", no_argument, NULL, LONGOPT_ASSERT },
+ { "create", required_argument, NULL, LONGOPT_CREATE },
+ { "revision", required_argument, NULL, LONGOPT_REVISION },
+ { "size", required_argument, NULL, LONGOPT_SIZE },
+ { 0, 0, 0, 0 }
};
opt = getopt_long( argc, argv, optString, longOpts, &longIndex );
diff --git a/src/server/uplink.c b/src/server/uplink.c
index 3a761ac..db63821 100644
--- a/src/server/uplink.c
+++ b/src/server/uplink.c
@@ -203,9 +203,9 @@ bool uplink_request(dnbd3_client_t *client, uint64_t handle, uint64_t start, uin
if ( foundExisting != -1 ) {
logadd( LOG_DEBUG2, "%p (%s) Found existing request of type %s at slot %d, attaching in slot %d.\n", (void*)uplink, uplink->image->name, existingType == ULR_NEW ? "ULR_NEW" : "ULR_PENDING", foundExisting, freeSlot );
logadd( LOG_DEBUG2, "Original %" PRIu64 "-%" PRIu64 " (%p)\n"
- "New %" PRIu64 "-%" PRIu64 " (%p)\n",
- uplink->queue[foundExisting].from, uplink->queue[foundExisting].to, (void*)uplink->queue[foundExisting].client,
- start, end, (void*)client );
+ "New %" PRIu64 "-%" PRIu64 " (%p)\n",
+ uplink->queue[foundExisting].from, uplink->queue[foundExisting].to, (void*)uplink->queue[foundExisting].client,
+ start, end, (void*)client );
}
#endif
// Fill structure
diff --git a/src/shared/protocol.h b/src/shared/protocol.h
index 9e28e7a..eb1178d 100644
--- a/src/shared/protocol.h
+++ b/src/shared/protocol.h
@@ -119,7 +119,7 @@ static inline bool dnbd3_get_crc32(int sock, uint32_t *master, void *buffer, siz
* where no unrequested messages could arrive inbetween.
*/
static inline bool dnbd3_select_image_reply(serialized_buffer_t *buffer, int sock, uint16_t *protocol_version, char **name, uint16_t *rid,
- uint64_t *imageSize)
+ uint64_t *imageSize)
{
dnbd3_reply_t reply;
if ( !dnbd3_get_reply( sock, &reply ) ) {
diff --git a/src/types.h b/src/types.h
index 7893da4..19c84cf 100644
--- a/src/types.h
+++ b/src/types.h
@@ -95,8 +95,8 @@ static const uint16_t dnbd3_packet_magic = (0x73) | (0x72 << 8);
#pragma pack(1)
typedef struct
{
- uint8_t addr[16]; // 16byte (network representation, so it can be directly passed to socket functions)
- uint16_t port; // 2byte (network representation, so it can be directly passed to socket functions)
+ uint8_t addr[16]; // 16byte (network representation, so it can be directly passed to socket functions)
+ uint16_t port; // 2byte (network representation, so it can be directly passed to socket functions)
uint8_t type; // 1byte (ip version. AF_INET or AF_INET6. 0 means this struct is empty and should be ignored)
} dnbd3_host_t;
#pragma pack(0)