summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsr2012-08-30 00:48:25 +0200
committersr2012-08-30 00:48:25 +0200
commita5f9c7e0fdea66e7f4910642d1204f0ba8c04293 (patch)
tree4db2453da0f85713e93ba2fc08983c0d319b8507
parent[SERVER] Set _FILE_OFFSET_BITS=64 so that images >4GiB will be handled proper... (diff)
downloaddnbd3-a5f9c7e0fdea66e7f4910642d1204f0ba8c04293.tar.gz
dnbd3-a5f9c7e0fdea66e7f4910642d1204f0ba8c04293.tar.xz
dnbd3-a5f9c7e0fdea66e7f4910642d1204f0ba8c04293.zip
last minute messup fixed
-rw-r--r--src/server/ipc.c8
-rw-r--r--src/server/server.c2
-rw-r--r--src/server/utils.c4
-rw-r--r--src/server/utils.h6
4 files changed, 11 insertions, 9 deletions
diff --git a/src/server/ipc.c b/src/server/ipc.c
index e7474e8..38066c8 100644
--- a/src/server/ipc.c
+++ b/src/server/ipc.c
@@ -53,7 +53,7 @@ static int recv_data(int client_sock, void *buffer_out, int len);
static int get_highest_fd(GSList *sockets)
{
GSList *iterator;
- int max = 0;
+ int max = server_sock;
for (iterator = sockets; iterator; iterator = iterator->next)
{
@@ -61,6 +61,7 @@ static int get_highest_fd(GSList *sockets)
if (fd > max)
max = fd;
}
+ //printf("Max fd: %d\n", max);
return max;
}
@@ -208,6 +209,7 @@ void *dnbd3_ipc_mainloop()
sockets = g_slist_prepend(sockets, (void *)(size_t)client_sock);
if (client_sock >= maxfd)
maxfd = client_sock + 1;
+ //printf("Max fd: %d\n", (maxfd-1));
FD_SET(client_sock, &all_sockets);
}
else if (FD_ISSET(server_sock, &exceptset))
@@ -519,9 +521,9 @@ get_info_reply_cleanup:
{
image.rid = atoi(rid_str);
if (cmd == IPC_ADDIMG)
- header.error = htonl(dnbd3_add_image(&image, _config_file_name));
+ header.error = htonl(dnbd3_add_image(&image));
else
- header.error = htonl(dnbd3_del_image(&image, _config_file_name));
+ header.error = htonl(dnbd3_del_image(&image));
}
else
header.error = htonl(ERROR_MISSING_ARGUMENT);
diff --git a/src/server/server.c b/src/server/server.c
index 10a1d2f..8981d77 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -194,7 +194,7 @@ int main(int argc, char* argv[])
memlogf("DNBD3 server starting.... Machine type: " ENDIAN_MODE);
// load config file
- dnbd3_load_config(_config_file_name);
+ dnbd3_load_config();
// setup signal handler
signal(SIGPIPE, dnbd3_handle_sigpipe);
diff --git a/src/server/utils.c b/src/server/utils.c
index d6e7a61..ddc52d8 100644
--- a/src/server/utils.c
+++ b/src/server/utils.c
@@ -261,7 +261,7 @@ int dnbd3_add_image(dnbd3_image_t *image)
gchar* data = g_key_file_to_data(gkf, NULL, NULL);
- int f = fopen(_config_file_name, "w");
+ FILE *f = fopen(_config_file_name, "w");
if (f >= 0)
{
fputs((char*) data, f);
@@ -279,7 +279,7 @@ int dnbd3_add_image(dnbd3_image_t *image)
return ERROR_SEE_LOG;
}
-int dnbd3_del_image(dnbd3_image_t *image, char *file)
+int dnbd3_del_image(dnbd3_image_t *image)
{
return ERROR_IMAGE_NOT_FOUND; // TODO: Make it work with image names
/*
diff --git a/src/server/utils.h b/src/server/utils.h
index 9f709d5..18b205a 100644
--- a/src/server/utils.h
+++ b/src/server/utils.h
@@ -38,9 +38,9 @@
#define ERROR_UNKNOWN_COMMAND 10
#define ERROR_SEE_LOG 11
-void dnbd3_load_config(char *file);
-int dnbd3_add_image(dnbd3_image_t *image, char *file);
-int dnbd3_del_image(dnbd3_image_t *image, char *file);
+void dnbd3_load_config();
+int dnbd3_add_image(dnbd3_image_t *image);
+int dnbd3_del_image(dnbd3_image_t *image);
dnbd3_image_t* dnbd3_get_image(char *name, int rid, const char do_lock);