public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
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

  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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal