# HG changeset patch
# User Daniel Stodden <[email protected]>
# Date 1286322863 25200
# Node ID 139a2e4d59d852a41518b7b264f5ee115f24f795
# Parent  e297f736579762983aec7d7072d72a3aa575825d
[mq]: CA-10471-iso-to-aio.diff

diff -r e297f7365797 -r 139a2e4d59d8 ocaml/xenops/device.ml
--- a/ocaml/xenops/device.ml    Tue Oct 05 16:44:26 2010 -0700
+++ b/ocaml/xenops/device.ml    Tue Oct 05 16:54:23 2010 -0700
@@ -475,8 +475,7 @@
        let request_path = backend_pause_request_path_of_device ~xs x in
        try ignore(xs.Xs.read request_path); true with Xb.Noent -> false
 
-(* Add the VBD to the domain, taking care of allocating any resources 
(specifically
-   loopback mounts). When this command returns, the device is ready. (This 
isn't as
+(* Add the VBD to the domain, When this command returns, the device is ready. 
(This isn't as
    concurrent as xend-- xend allocates loopdevices via hotplug in parallel and 
then
    performs a 'waitForDevices') *)
 let add ~xs ~hvm ~mode ~virtpath ~phystype ~physpath ~dev_type ~unpluggable
@@ -494,8 +493,7 @@
           1. qemu accesses devices images itself and so needs the path of the 
original
               file (in params)
            2. when windows PV drivers initialise, the new blockfront connects 
to the
-              up-til-now idle blockback and this requires the loop-device, in 
the file
-             case
+              up-til-now idle blockback.
            3. when the VM is fully PV, Ioemu devices do not work; all devices 
must be PV
           4. in the future an HVM guest might support a mixture of both
        *)
@@ -505,16 +503,6 @@
             List.iter (fun (k, v) -> Hashtbl.add back_tbl k v) keys
         | None -> ());
 
-       begin match phystype with
-         | File ->
-             if not(hvm) then begin
-               let loopdev = Hotplug.mount_loopdev ~xs device physpath (mode = 
ReadOnly) in
-               Hashtbl.add back_tbl "physical-device" (string_of_major_minor 
loopdev);
-               Hashtbl.add back_tbl "loop-device" loopdev
-             end
-         | Phys | Qcow | Vhd | Aio ->
-             Hashtbl.add back_tbl "physical-device" (string_of_major_minor 
physpath)
-          end;
 
        Hashtbl.add_list front_tbl [
                "backend-id", string_of_int backend_domid;
@@ -523,6 +511,7 @@
                "device-type", if dev_type = CDROM then "cdrom" else "disk";
        ];
        Hashtbl.add_list back_tbl [
+               "physical-device", (string_of_major_minor physpath);
                "frontend-id", sprintf "%u" domid;
                (* Prevents the backend hotplug scripts from running if the 
frontend disconnects.
                   This allows the xenbus connection to re-establish itself *)
 ocaml/xenops/device.ml |  17 +++--------------
 1 files changed, 3 insertions(+), 14 deletions(-)


# HG changeset patch
# User Daniel Stodden <[email protected]>
# Date 1286322863 25200
# Node ID 139a2e4d59d852a41518b7b264f5ee115f24f795
# Parent  e297f736579762983aec7d7072d72a3aa575825d
[mq]: CA-10471-iso-to-aio.diff

diff -r e297f7365797 -r 139a2e4d59d8 ocaml/xenops/device.ml
--- a/ocaml/xenops/device.ml	Tue Oct 05 16:44:26 2010 -0700
+++ b/ocaml/xenops/device.ml	Tue Oct 05 16:54:23 2010 -0700
@@ -475,8 +475,7 @@
 	let request_path = backend_pause_request_path_of_device ~xs x in
 	try ignore(xs.Xs.read request_path); true with Xb.Noent -> false
 
-(* Add the VBD to the domain, taking care of allocating any resources (specifically
-   loopback mounts). When this command returns, the device is ready. (This isn't as
+(* Add the VBD to the domain, When this command returns, the device is ready. (This isn't as
    concurrent as xend-- xend allocates loopdevices via hotplug in parallel and then
    performs a 'waitForDevices') *)
 let add ~xs ~hvm ~mode ~virtpath ~phystype ~physpath ~dev_type ~unpluggable
@@ -494,8 +493,7 @@
 	   1. qemu accesses devices images itself and so needs the path of the original
               file (in params)
            2. when windows PV drivers initialise, the new blockfront connects to the
-              up-til-now idle blockback and this requires the loop-device, in the file
-	      case
+              up-til-now idle blockback.
            3. when the VM is fully PV, Ioemu devices do not work; all devices must be PV
 	   4. in the future an HVM guest might support a mixture of both
 	*)
@@ -505,16 +503,6 @@
 	     List.iter (fun (k, v) -> Hashtbl.add back_tbl k v) keys
 	 | None -> ());
 
-	begin match phystype with
-	  | File ->
-	      if not(hvm) then begin
-		let loopdev = Hotplug.mount_loopdev ~xs device physpath (mode = ReadOnly) in
-		Hashtbl.add back_tbl "physical-device" (string_of_major_minor loopdev);
-		Hashtbl.add back_tbl "loop-device" loopdev
-	      end
-	  | Phys | Qcow | Vhd | Aio ->
-	      Hashtbl.add back_tbl "physical-device" (string_of_major_minor physpath)
-          end;
 
 	Hashtbl.add_list front_tbl [
 		"backend-id", string_of_int backend_domid;
@@ -523,6 +511,7 @@
 		"device-type", if dev_type = CDROM then "cdrom" else "disk";
 	];
 	Hashtbl.add_list back_tbl [
+		"physical-device", (string_of_major_minor physpath);
 		"frontend-id", sprintf "%u" domid;
 		(* Prevents the backend hotplug scripts from running if the frontend disconnects.
 		   This allows the xenbus connection to re-establish itself *)
_______________________________________________
xen-api mailing list
[email protected]
http://lists.xensource.com/mailman/listinfo/xen-api

Reply via email to