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 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.