diff options
| author | sr | 2012-09-05 18:09:28 +0200 |
|---|---|---|
| committer | sr | 2012-09-05 18:09:28 +0200 |
| commit | 8cb2c797934d717538b3dd585c3759c04131a4ad (patch) | |
| tree | d7d5d2297d0fa2634cdbe510cec474f501b1b486 /src/server/saveload.c | |
| parent | [SERVER] More work towards automatic server discovery and querying (diff) | |
| download | dnbd3-8cb2c797934d717538b3dd585c3759c04131a4ad.tar.gz dnbd3-8cb2c797934d717538b3dd585c3759c04131a4ad.tar.xz dnbd3-8cb2c797934d717538b3dd585c3759c04131a4ad.zip | |
[SERVER] Automatically add and remove alt servers from images depending on wehter the other server is reachable
[SERVER] Automatically replicate images from other servers
Diffstat (limited to 'src/server/saveload.c')
| -rw-r--r-- | src/server/saveload.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/server/saveload.c b/src/server/saveload.c index b9c0164..365934b 100644 --- a/src/server/saveload.c +++ b/src/server/saveload.c @@ -152,9 +152,11 @@ 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) { - _dnbd3_images = g_slist_prepend(_dnbd3_images, image); + memlogf("[INFO] Added image '%s'", newimage->low_name); + _dnbd3_images = g_slist_prepend(_dnbd3_images, newimage); } else { @@ -163,10 +165,10 @@ int dnbd3_add_image(dnbd3_image_t *image) } // Adding image was successful, write config file - g_key_file_set_integer(_config_handle, image->config_group, "rid", image->rid); - g_key_file_set_string(_config_handle, image->config_group, "file", image->file); + g_key_file_set_integer(_config_handle, newimage->config_group, "rid", newimage->rid); + g_key_file_set_string(_config_handle, newimage->config_group, "file", newimage->file); //g_key_file_set_string(_config_handle, image->name, "servers", image->serverss); // TODO: Save servers as string - g_key_file_set_string(_config_handle, image->config_group, "cache", image->cache_file); + g_key_file_set_string(_config_handle, newimage->config_group, "cache", newimage->cache_file); pthread_spin_unlock(&_spinlock); @@ -308,7 +310,7 @@ static dnbd3_image_t *prepare_image(char *image_name, int rid, char *image_file, return NULL; } - if (strchr(image_name, '.') == NULL && _local_namespace == NULL) + if (strchr(image_name, '/') == NULL && _local_namespace == NULL) { memlogf("[ERROR] Image '%s' has local name and no default namespace is defined; entry ignored.", image_name); return NULL; |
