summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohann Latocha2012-07-27 14:08:13 +0200
committerJohann Latocha2012-07-27 14:08:13 +0200
commit6e8afa6c4b066c55d48ef836167a1fe54a904032 (patch)
tree7714e0840c04f0f8553ba86a46e4694f201ad6b8
parent[SERVER] IPC add image (diff)
downloaddnbd3-6e8afa6c4b066c55d48ef836167a1fe54a904032.tar.gz
dnbd3-6e8afa6c4b066c55d48ef836167a1fe54a904032.tar.xz
dnbd3-6e8afa6c4b066c55d48ef836167a1fe54a904032.zip
[SERVER] IPC some checks
-rw-r--r--src/server/utils.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/utils.c b/src/server/utils.c
index 31d60ad..8700e6d 100644
--- a/src/server/utils.c
+++ b/src/server/utils.c
@@ -145,6 +145,16 @@ void dnbd3_reload_config(char* config_file_name)
void dnbd3_add_image(dnbd3_image_t *image, char *file)
{
+ dnbd3_image_t* tmp = dnbd3_get_image(image->vid, image->rid);
+ if (tmp && image->rid != 0)
+ {
+ printf("ERROR: Image already exists (%d,%d)\n", image->vid, image->rid);
+ return;
+ }
+
+ if (tmp && image->rid == 0)
+ image->rid = tmp->rid +1;
+
GKeyFile* gkf;
gkf = g_key_file_new();
if (!g_key_file_load_from_file(gkf, file, G_KEY_FILE_NONE, NULL))