From: Prashant Patil via pve-devel <pve-devel@lists.proxmox.com>
To: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>,
"pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Cc: Prashant Patil <Prashant.Gamepatil@arctera.io>
Subject: Re: [pve-devel] Unable to create persistent dirty-bitmap
Date: Wed, 24 Sep 2025 06:27:01 +0000 [thread overview]
Message-ID: <mailman.327.1758699714.390.pve-devel@lists.proxmox.com> (raw)
In-Reply-To: <2f69f3a87a1b7473df17f57dc658733a87059e0a.camel@groupe-cyllene.com>
[-- Attachment #1: Type: message/rfc822, Size: 17511 bytes --]
From: Prashant Patil <Prashant.Gamepatil@arctera.io>
To: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>, "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Subject: RE: Unable to create persistent dirty-bitmap
Date: Wed, 24 Sep 2025 06:27:01 +0000
Message-ID: <SA5PPFA482AF7CB722AD3B026A2C80731F7E31CA@SA5PPFA482AF7CB.namprd16.prod.outlook.com>
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.derumier@groupe-cyllene.com>
Sent: 23 September 2025 20:29
To: pve-devel@lists.proxmox.com; Prashant Patil <Prashant.Gamepatil@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 }
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-09-24 7:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <SA5PPFA482AF7CB3F93BBC9D6DA1A512009E31DA@SA5PPFA482AF7CB.namprd16.prod.outlook.com>
2025-09-23 9:30 ` DERUMIER, Alexandre via pve-devel
[not found] ` <e88c612071187386f7178a4d519fad7c7f39ab09.camel@groupe-cyllene.com>
2025-09-23 10:16 ` Prashant Patil via pve-devel
[not found] ` <SA5PPFA482AF7CB2ED9FA29E8032762B5A6E31DA@SA5PPFA482AF7CB.namprd16.prod.outlook.com>
2025-09-23 14:58 ` DERUMIER, Alexandre via pve-devel
[not found] ` <2f69f3a87a1b7473df17f57dc658733a87059e0a.camel@groupe-cyllene.com>
2025-09-24 6:27 ` Prashant Patil via pve-devel [this message]
2025-09-23 5:23 Prashant Patil via pve-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mailman.327.1758699714.390.pve-devel@lists.proxmox.com \
--to=pve-devel@lists.proxmox.com \
--cc=Prashant.Gamepatil@arctera.io \
--cc=alexandre.derumier@groupe-cyllene.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox