Unable to create persistent dirty-bitmap

DERUMIER, Alexandre alexandre.derumier at groupe-cyllene.com
Tue Sep 23 16:58:47 CEST 2025


>>The qcow2 disk is at scsi0 slot, hence I think that is the correct
>>node. Please let me know if otherwise.

I mean, It's not about slot, it's about blockdev graph (since pve9 +
machine version >= 10, we use the qemu blockdev, and it's a graph of
nodes)


Maybe this with machine version 9, it could work with drive-scsi0,

but since machine version 10, you need to find the "node" in the
blockdev graph

(you can use ps -aux to see the current qemu command line, to find the
node-name starting with "f" letter)

see me previous example:

 -blockdev '{"driver":"throttle","file":{"cache":{"direct":true,"no-
flush":false},"driver":"qcow2","file":{"aio":"io_uring","cache":{"direc

t":true,"no-flush":false},"detect-
zeroes":"unmap","discard":"unmap","driver":"file","filename":"/var/lib/

vz/images/8006/vm-8006-disk-0.qcow2","node-
name":"edd19f6c1b3a6d5a6248c3376a91a16","read-only":false},"node-
name":"fdd19f6c1b3a6d5a6248c3376a91a16","read-only":false},"node-
name":"drive-virtio0","throttle-group":"throttle-drive-virtio0"}'


the nodename is generate with:

https://git.proxmox.com/?p=qemu-server.git;a=blob;f=src/PVE/QemuServer/Blockdev.pm;h=8e6749e8be166dae0446fa162247ee1f4ce0272d;hb=HEAD

 114 my sub get_node_name {
 115     my ($type, $drive_id, $volid, $options) = @_;
 116 
 117     return fleecing_node_name($type, $drive_id) if $options-
>{fleecing};
 118     return tpm_backup_node_name($type, $drive_id) if $options-
>{'tpm-backup'};
 119 
 120     my $snap = $options->{'snapshot-name'};
 121 
 122     my $info = "drive=$drive_id,";
 123     $info .= "snap=$snap," if defined($snap);
 124     $info .= "volid=$volid";
 125 
 126     my $hash = substr(Digest::SHA::sha256_hex($info), 0, 30);
 127 
 128     my $prefix = "";
 129     if ($type eq 'alloc-track') {
 130         $prefix = 'a';
 131     } elsif ($type eq 'file') {
 132         $prefix = 'e';
 133     } elsif ($type eq 'fmt') {
 134         $prefix = 'f';
 135     } elsif ($type eq 'zeroinit') {
 136         $prefix = 'z';
 137     } else {
 138         die "unknown node type '$type'";
 139     }
 140     # node-name must start with an alphabetical character
 141     return "${prefix}${hash}";
 142 }


More information about the pve-devel mailing list