--- Begin Message ---
Thanks for these details.
What is the best way to find out the node name that can be used to run QMP
commands like creating bitmap, etc.? I see query-block also returns the
node-name (like pasted below), but not sure whether that is the best way.
"children": [
{
"node-name": "f28e80d2536d4487e79d509aca760a0",
"child": "file"
}
],
Thanks
Prashant
-----Original Message-----
From: DERUMIER, Alexandre <alexandre.derum...@groupe-cyllene.com>
Sent: 23 September 2025 20:29
To: pve-devel@lists.proxmox.com; Prashant Patil <prashant.gamepa...@arctera.io>
Subject: Re: Unable to create persistent dirty-bitmap
>>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 }
--- End Message ---
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel