summaryrefslogtreecommitdiffstats
path: root/src/server/ipc.c
diff options
context:
space:
mode:
authorsr2012-09-09 23:01:00 +0200
committersr2012-09-09 23:01:00 +0200
commit3e8cd5b2284fd68206cd7ea9943e892fcce037f8 (patch)
tree3b4a67620bf6bedf678b8b70bf4cf3e7822edf89 /src/server/ipc.c
parent[SERVER] Automatically assign and connect a dnbd3 device to a relayed image (diff)
downloaddnbd3-3e8cd5b2284fd68206cd7ea9943e892fcce037f8.tar.gz
dnbd3-3e8cd5b2284fd68206cd7ea9943e892fcce037f8.tar.xz
dnbd3-3e8cd5b2284fd68206cd7ea9943e892fcce037f8.zip
[SERVER] Automatically connect a dnbd3 device for a relayed image
[SERVER] Automatically disconnect dnbd3 device if local cache copy is complete [SERVER] Pre-allocate disk space for cache file [KERNEL] Refuse connection if server reports disk size < 4096 bytes
Diffstat (limited to 'src/server/ipc.c')
-rw-r--r--src/server/ipc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/ipc.c b/src/server/ipc.c
index c59aa6b..b455c44 100644
--- a/src/server/ipc.c
+++ b/src/server/ipc.c
@@ -381,7 +381,8 @@ static int ipc_receive(int client_sock)
xmlNewProp(tmp_node, BAD_CAST "rid", BAD_CAST strbuffer);
sprintf(strbuffer, "%llu", (unsigned long long)image->filesize);
xmlNewProp(tmp_node, BAD_CAST "size", BAD_CAST strbuffer);
- xmlNewProp(tmp_node, BAD_CAST "file", BAD_CAST image->file);
+ if (image->file)
+ xmlNewProp(tmp_node, BAD_CAST "file", BAD_CAST image->file);
xmlNewProp(tmp_node, BAD_CAST "servers", BAD_CAST "???"); // TODO
if (image->cache_file && image->cache_map)
{
@@ -391,7 +392,7 @@ static int ipc_receive(int client_sock)
if (image->cache_map[i])
complete += 100;
sprintf(strbuffer, "%d", complete / size);
- xmlNewProp(tmp_node, BAD_CAST "cachefill", BAD_CAST image->cache_file);
+ xmlNewProp(tmp_node, BAD_CAST "cachefill", BAD_CAST strbuffer);
}
xmlAddChild(parent_node, tmp_node);
}