summaryrefslogtreecommitdiffstats
path: root/src/server/job.c
diff options
context:
space:
mode:
authorsr2012-09-25 19:56:04 +0200
committersr2012-09-25 19:56:04 +0200
commit5a329ef4cba5688842d7d945e5c5956109797e60 (patch)
tree720c56b41892e0e9772590d5e86fb3628fe2441f /src/server/job.c
parent[SERVER] IPC: Add calls to add/remove trusted namespaces and servers (diff)
downloaddnbd3-5a329ef4cba5688842d7d945e5c5956109797e60.tar.gz
dnbd3-5a329ef4cba5688842d7d945e5c5956109797e60.tar.xz
dnbd3-5a329ef4cba5688842d7d945e5c5956109797e60.zip
[SERVER] Fix return code for IPC_IMAGE_ADD
[SERVER] Check if image exists on IPC_IMAGE_ADD
Diffstat (limited to 'src/server/job.c')
-rw-r--r--src/server/job.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/job.c b/src/server/job.c
index 7612573..5ac0721 100644
--- a/src/server/job.c
+++ b/src/server/job.c
@@ -210,7 +210,12 @@ static void connect_proxy_images()
pthread_spin_unlock(&_spinlock);
int dh = open(devname, O_RDWR);
if (dh < 0)
+ {
+ pthread_spin_lock(&_spinlock);
+ return_free_device(devname);
+ pthread_spin_unlock(&_spinlock);
continue;
+ }
for (s = 0; s < NUMBER_SERVERS; ++s)
{
if (servers[s].host.type == 0)
@@ -449,7 +454,7 @@ static void query_servers()
goto communication_error;
}
// Data seems ok
- char *ns = getTextFromPath(doc, "/data/namespace");
+ char *ns = getTextFromPath(doc, "/data/defaultns");
if (ns && *ns == '\0')
{
xmlFree(ns);