all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server] drives: expose 'readonly' flag of qemu
@ 2021-09-28  7:48 Dominik Csapak
  2021-09-28  7:51 ` Dominik Csapak
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2021-09-28  7:48 UTC (permalink / raw)
  To: pve-devel

this allows a user to set a drive to read only. This can be useful
if a disk should not be written to, or if the backing file/source is
not writable (like a mapped pbs backup to /dev/loopX).

while this could also be achieved by setting 'snapshot=1', this would
create a temporary file in /var/tmp which can get quite big.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
while forward migration (old->new) worked without issue, i noticed that
when migrating backwards (new->old), the stack lets us do it, but
ignores 'invalid' disk and thus crashes on resume and the disk
is removed from the config.

i am aware that we do not support new->old migration, but is there a way
to handle such sitations more gracefully? shouldn't we deny a start
(at least on migration) for invalid configs instead of ignoring such
lines?

 PVE/QemuServer.pm       | 10 ++++++----
 PVE/QemuServer/Drive.pm |  5 +++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 0fb8628..5209f51 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1569,10 +1569,12 @@ sub print_drive_commandline_full {
 	$opts .= ",$o=$drive->{$o}" if defined($drive->{$o});
     }
 
-    # snapshot only accepts on|off
-    if (defined($drive->{snapshot})) {
-	my $v = $drive->{snapshot} ? 'on' : 'off';
-	$opts .= ",snapshot=$v";
+    # some options only accepts on|off
+    foreach my $o (qw(snapshot readonly)) {
+	if (defined($drive->{$o})) {
+	    my $v = $drive->{$o} ? 'on' : 'off';
+	    $opts .= ",$o=$v";
+	}
     }
 
     foreach my $type (['', '-total'], [_rd => '-read'], [_wr => '-write']) {
diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm
index 5110190..c20e74d 100644
--- a/PVE/QemuServer/Drive.pm
+++ b/PVE/QemuServer/Drive.pm
@@ -97,6 +97,11 @@ my %drivedesc_base = (
 	description => "Whether the drive should be included when making backups.",
 	optional => 1,
     },
+    readonly => {
+	type => 'boolean',
+	description => "Whether the drive is read-only.",
+	optional => 1,
+    },
     replicate => {
 	type => 'boolean',
 	description => 'Whether the drive should considered for replication jobs.',
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH qemu-server] drives: expose 'readonly' flag of qemu
  2021-09-28  7:48 [pve-devel] [PATCH qemu-server] drives: expose 'readonly' flag of qemu Dominik Csapak
@ 2021-09-28  7:51 ` Dominik Csapak
  0 siblings, 0 replies; 2+ messages in thread
From: Dominik Csapak @ 2021-09-28  7:51 UTC (permalink / raw)
  To: pve-devel

On 9/28/21 09:48, Dominik Csapak wrote:
> while forward migration (old->new) worked without issue, i noticed that

ofc here i meant migration new->new with the 'readonly' flag enabled






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-28  7:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28  7:48 [pve-devel] [PATCH qemu-server] drives: expose 'readonly' flag of qemu Dominik Csapak
2021-09-28  7:51 ` Dominik Csapak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal