diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm index c13ff4ca..4789ee15 100755 --- a/PVE/CLI/qm.pm +++ b/PVE/CLI/qm.pm @@ -220,6 +220,28 @@ __PACKAGE__->register_method ({ return undef; }}); +__PACKAGE__->register_method ({ + name => 'nbdstop', + path => 'nbdstop', + method => 'PUT', + description => "Stop embedded nbd server.", + parameters => { + additionalProperties => 0, + properties => { + vmid => get_standard_option('pve-vmid', { completion => \&PVE::QemuServer::complete_vmid }), + }, + }, + returns => { type => 'null'}, + code => sub { + my ($param) = @_; + + my $vmid = $param->{vmid}; + + PVE::QemuServer::nbd_stop($vmid); + + return undef; + }}); + __PACKAGE__->register_method ({ name => 'mtunnel', path => 'mtunnel', @@ -558,6 +580,8 @@ our $cmddef = { mtunnel => [ __PACKAGE__, 'mtunnel', []], + nbdstop => [ __PACKAGE__, 'nbdstop', ['vmid']], + terminal => [ __PACKAGE__, 'terminal', ['vmid']], }; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index e7071c07..a2acf0c2 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -6370,4 +6370,10 @@ sub complete_storage { return $res; } +sub nbd_stop { + my ($vmid) = @_; + + vm_mon_cmd($vmid, 'nbd-server-stop'); +} + 1;