---
p2v/server/virt-p2v-server.pl | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/p2v/server/virt-p2v-server.pl b/p2v/server/virt-p2v-server.pl
index c15efb2..f9dbc07 100755
--- a/p2v/server/virt-p2v-server.pl
+++ b/p2v/server/virt-p2v-server.pl
@@ -58,6 +58,7 @@ $SIG{'PIPE'} = 'IGNORE';
use constant MSG_OPTIONS => 'OPTIONS';
use constant MSG_METADATA => 'METADATA';
use constant MSG_PATH => 'PATH';
+use constant MSG_MOUNT => 'MOUNT'
use constant MSG_CONVERT => 'CONVERT';
use constant MSG_LIST_PROFILES => 'LIST_PROFILES';
use constant MSG_SET_PROFILE => 'SET_PROFILE';
@@ -68,6 +69,7 @@ my @MSGS = (
MSG_METADATA,
MSG_OPTIONS,
MSG_PATH,
+ MSG_MOUNT,
MSG_CONVERT,
MSG_LIST_PROFILES,
MSG_SET_PROFILE,
@@ -181,6 +183,13 @@ eval {
receive_path($path, $length);
}
+ # MOUNT uri disk_type
+ elsif ($type eq MSG_MOUNT) {
+ my $uri = $msg->{args}[1];
+ my $disk_type = $msg->{args}[1];
+ mount_disk($uri, $disk_type);
+ }
+
# CONVERT
elsif ($type eq MSG_CONVERT) {
convert();
@@ -358,6 +367,8 @@ sub convert
$_->{dst}->get_path(),
$_->{dst}->get_format() ] } @{$meta->{disks}};
+ # TODO also add disks stored in $meta->{mounts}
+
$g = new Sys::VirtConvert::GuestfsHandle(
\@disks,
$transferiso,
@@ -411,6 +422,16 @@ sub convert
p2v_return_ok();
}
+sub mount_disk
+{
+ my ($uri,$disk_type) = @_;
+
+ # TODO create local devices mapped to remote uri
+ # if nbd use nbd-client, if iscsi use iscsiadm
+ # store local device paths in $meta->{mounts}
+ p2v_return_ok();
+}
+
sub unexpected_msg
{
my $msg = shift;
--
1.7.11.7