@@ -569,16 +569,37 @@ let process root_dir name x =
569
569
let args = Args.VDI.Epoch_begin. request_of_rpc args in
570
570
Attached_SRs. find args.Args.VDI.Epoch_begin. sr
571
571
>> = fun sr ->
572
- (* FIXME: will some backends do this in special ways?
573
- See [djs55/xapi-storage#19] *)
572
+ (* Discover the URIs using Volume.stat *)
573
+ stat root_dir name
574
+ args.Args.VDI.Epoch_begin. dbg
575
+ sr
576
+ args.Args.VDI.Epoch_begin. vdi
577
+ >> = fun (datapath , uri , domain ) ->
578
+ let persistent = args.Args.VDI.Epoch_begin. persistent in
579
+ let args = Storage.Datapath.Types.Datapath.Open.In. make
580
+ args.Args.VDI.Epoch_begin. dbg
581
+ uri persistent in
582
+ let args = Storage.Datapath.Types.Datapath.Open.In. rpc_of_t args in
583
+ fork_exec_rpc root_dir (script root_dir name (`Datapath datapath) " Datapath.open" ) args Storage.Datapath.Types.Datapath.Open.Out. t_of_rpc
584
+ >> = fun () ->
574
585
Deferred.Result. return (R. success (Args.VDI.Epoch_begin. rpc_of_response () ))
575
586
| { R. name = "VDI.epoch_end" ; R. params = [ args ] } ->
576
587
let open Deferred.Result.Monad_infix in
577
588
let args = Args.VDI.Epoch_end. request_of_rpc args in
578
589
Attached_SRs. find args.Args.VDI.Epoch_end. sr
579
590
>> = fun sr ->
580
- (* FIXME: will some backends do this in special ways?
581
- See [djs55/xapi-storage#19] *)
591
+ (* Discover the URIs using Volume.stat *)
592
+ stat root_dir name
593
+ args.Args.VDI.Epoch_end. dbg
594
+ sr
595
+ args.Args.VDI.Epoch_end. vdi
596
+ >> = fun (datapath , uri , domain ) ->
597
+ let args = Storage.Datapath.Types.Datapath.Close.In. make
598
+ args.Args.VDI.Epoch_end. dbg
599
+ uri in
600
+ let args = Storage.Datapath.Types.Datapath.Close.In. rpc_of_t args in
601
+ fork_exec_rpc root_dir (script root_dir name (`Datapath datapath) " Datapath.close" ) args Storage.Datapath.Types.Datapath.Close.Out. t_of_rpc
602
+ >> = fun () ->
582
603
Deferred.Result. return (R. success (Args.VDI.Epoch_end. rpc_of_response () ))
583
604
584
605
| { R. name = name } ->
0 commit comments