diff options
| author | sr | 2012-09-09 23:01:00 +0200 |
|---|---|---|
| committer | sr | 2012-09-09 23:01:00 +0200 |
| commit | 3e8cd5b2284fd68206cd7ea9943e892fcce037f8 (patch) | |
| tree | 3b4a67620bf6bedf678b8b70bf4cf3e7822edf89 /src/server/ipc.c | |
| parent | [SERVER] Automatically assign and connect a dnbd3 device to a relayed image (diff) | |
| download | dnbd3-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.c | 5 |
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); } |
