summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsr2012-12-20 15:11:23 +0100
committersr2012-12-20 15:11:23 +0100
commitedda2e568ef3ea0d38a89ead5d888d1c329c6b3b (patch)
tree5f932fff81baf33b0f9ce7290f3026fc2b6de608
parent[SERVER] Remove unused default-namespace code (diff)
downloaddnbd3-edda2e568ef3ea0d38a89ead5d888d1c329c6b3b.tar.gz
dnbd3-edda2e568ef3ea0d38a89ead5d888d1c329c6b3b.tar.xz
dnbd3-edda2e568ef3ea0d38a89ead5d888d1c329c6b3b.zip
[SERVER] More verbose error messages
-rw-r--r--src/server/job.c3
-rw-r--r--src/server/saveload.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/server/job.c b/src/server/job.c
index 8b302c5..ad6e0db 100644
--- a/src/server/job.c
+++ b/src/server/job.c
@@ -513,6 +513,7 @@ static void query_servers()
memset(&newimage, 0, sizeof(newimage));
newimage.config_group = xmlbuffer;
newimage.rid = rid;
+ newimage.filesize = size;
if (_cache_dir)
{
newimage.cache_file = create_cache_filename(xmlbuffer, rid, cachefile, 90);
@@ -529,7 +530,7 @@ static void query_servers()
{
// Image is already KNOWN, add alt server if appropriate
if (size != local_image->filesize)
- printf("[DEBUG] Ignoring remote image '%s' because it has a different size from the local version!\n", local_image->config_group);
+ printf("[DEBUG] Ignoring remote image '%s' because it has a different size from the local version! (remote: %llu, local: %llu)\n", local_image->config_group, size, (unsigned long long)local_image->filesize);
else
add_alt_server(local_image, &host);
pthread_spin_unlock(&_spinlock);
diff --git a/src/server/saveload.c b/src/server/saveload.c
index 9b5318a..9326627 100644
--- a/src/server/saveload.c
+++ b/src/server/saveload.c
@@ -167,9 +167,10 @@ int dnbd3_add_image(dnbd3_image_t *image)
}
dnbd3_image_t *newimage = prepare_image(image->config_group, image->rid, image->file, image->cache_file);
- image = NULL;
if (newimage)
{
+ if (image->file == NULL && newimage->filesize == 0)
+ newimage->filesize = image->filesize;
_dnbd3_images = g_slist_prepend(_dnbd3_images, newimage);
}
else
@@ -177,6 +178,7 @@ int dnbd3_add_image(dnbd3_image_t *image)
pthread_spin_unlock(&_spinlock);
return ERROR_SEE_LOG;
}
+ image = NULL;
// Adding image was successful, write config file
g_key_file_set_integer(_config_handle, newimage->config_group, "rid", newimage->rid);