Skip to content

Commit f99ec06

Browse files
committed
CP-19161: Return the reference of the new VDI from import_raw_vdi handler
Signed-off-by: Jon Ludlam <[email protected]>
1 parent 24b8040 commit f99ec06

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

ocaml/xapi/import_raw_vdi.ml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,12 @@ let localhost_handler rpc session_id vdi_opt (req: Request.t) (s: Unix.file_desc
8080
else Vhd_tool_wrapper.receive (Vhd_tool_wrapper.update_task_progress __context) (Importexport.Format.to_string format) "none" s req.Request.content_length path "" prezeroed
8181
);
8282
TaskHelper.complete ~__context (Some (API.rpc_of_ref_VDI vdi));
83+
Some vdi
8384
with
8485
| HandleError (exn, headers) ->
8586
TaskHelper.failed ~__context exn;
86-
Http_svr.headers s headers
87+
Http_svr.headers s headers;
88+
None
8789
| e ->
8890
Backtrace.is_important e;
8991
error "Caught exception: %s" (ExnHelper.string_of_exn e);
@@ -113,11 +115,13 @@ let import vdi (req: Request.t) (s: Unix.file_descr) _ =
113115
else
114116
let host = Importexport.find_host_for_sr ~__context sr in
115117
let address = Db.Host.get_address ~__context ~self:host in
116-
return_302_redirect req s address
118+
return_302_redirect req s address;
119+
None
117120
| None ->
118121
error "Require an SR or VDI to import";
119122
TaskHelper.failed ~__context Api_errors.(Server_error(vdi_missing,[]));
120-
Http_svr.headers s (Http.http_400_badrequest ())
123+
Http_svr.headers s (Http.http_400_badrequest ());
124+
None
121125

122126
)
123127
)
@@ -130,5 +134,5 @@ let handler (req: Request.t) (s: Unix.file_descr) _ =
130134
task in the forwarding case *)
131135
Server_helpers.exec_with_new_task "VDI.import"
132136
(fun __context ->
133-
import (vdi_of_req ~__context req) req s ()
137+
ignore(import (vdi_of_req ~__context req) req s ())
134138
)

ocaml/xapi/xapi_services.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ let put_handler (req: Http.Request.t) s _ =
169169
http_proxy_to_plugin req s name
170170
| [ ""; services; "SM"; "data"; sr; vdi ] when services = _services ->
171171
let vdi, _ = Storage_access.find_vdi ~__context sr vdi in
172-
Import_raw_vdi.import (Some vdi) req s ()
172+
ignore(Import_raw_vdi.import (Some vdi) req s ())
173173
| [ ""; services; "SM"; "nbd"; sr; vdi; dp ] when services = _services ->
174174
Storage_migrate.nbd_handler req s sr vdi dp
175175
| _ ->

0 commit comments

Comments
 (0)