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.csa...@proxmox.com> --- changes from v1: * limit that setting to scsi/virtio as it is not possible to use it on ide/sata PVE/QemuServer.pm | 10 ++++++---- PVE/QemuServer/Drive.pm | 11 +++++++++++ 2 files changed, 17 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..af7aafe 100644 --- a/PVE/QemuServer/Drive.pm +++ b/PVE/QemuServer/Drive.pm @@ -175,6 +175,14 @@ my %queues_fmt = ( } ); +my %readonly_fmt = ( + readonly => { + type => 'boolean', + description => "Whether the drive is read-only.", + optional => 1, + }, +); + my %scsiblock_fmt = ( scsiblock => { type => 'boolean', @@ -269,6 +277,7 @@ my $scsi_fmt = { %drivedesc_base, %iothread_fmt, %queues_fmt, + %readonly_fmt, %scsiblock_fmt, %ssd_fmt, %wwn_fmt, @@ -297,6 +306,7 @@ PVE::JSONSchema::register_standard_option("pve-qm-sata", $satadesc); my $virtio_fmt = { %drivedesc_base, %iothread_fmt, + %readonly_fmt, }; my $virtiodesc = { optional => 1, @@ -311,6 +321,7 @@ my $alldrive_fmt = { %iothread_fmt, %model_fmt, %queues_fmt, + %readonly_fmt, %scsiblock_fmt, %ssd_fmt, %wwn_fmt, -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel