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