From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>,
"pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH v4 qemu-server 11/11] qcow2: add external snapshot support
Date: Fri, 4 Apr 2025 13:37:06 +0200 (CEST) [thread overview]
Message-ID: <137183061.6481.1743766626183@webmail.proxmox.com> (raw)
In-Reply-To: <3e516016a970e52e5a1014dbcd6cf9507581da74.camel@groupe-cyllene.com>
> DERUMIER, Alexandre <alexandre.derumier@groupe-cyllene.com> hat am 04.04.2025 13:31 CEST geschrieben:
> Hi Fabian,
>
> >>the first one is the renaming of a blockdev while it is used, which
> >>is currently done like this:
> >>-- "link" snapshot path to make it available under old and new name
> >>-- handle blockdev additions/reopening/backing-file updates/deletions
> >>on the qemu layer
> >>-- remove old snapshot path link
> >>-- if LVM, rename actual volume (for non-LVM, linking followed by
> >>unlinking the source is effectively a rename already)
>
> >>I wonder whether that couldn't be made more straight-forward by doing
> >>-- rename snapshot volume/image (qemu must already have the old name
> >>open anyway and should be able to continue using it)
> >>-- do blockdev additions/reopening/backing-file updates/deletions on
> >>the qemu layer
>
> >>or is there an issue/check in qemu somewhere that prevents this
> >>approach? if not, we could just introduce a "volume_snapshot_rename"
> >>or extend rename_volume with a snapshot parameter..
>
> I have done tests this last 2 days, and it's working fine indeed. (I
> have done test with fio running during the snapshot rename/reopen, no
> problem).
>
> so I'm using Storage::rename_volume now with snapshot param
>
>
> >>the second thing that happens is deleting a snapshot volume/path,
> >>without deleting the whole snapshot.. that one we could easily
> >>support by extending volume_snapshot_delete by extending the $running
> >>parameter (e.g., passing "2") or adding a new one to signify that all
> >>the housekeeping was already done, and just the actual snapshot
> >>volume should be deleted. this shouldn't be an issue provided all
> >>such calls are guarded by first checking that we are using external
> >>snapshots..
>
> I have reused vdisk_free for this one, as I'm seeing a comment about
> $running deprecation in Storage.pm
>
> # FIXME PVE 8.x remove $running parameter (needs APIAGE reset)
> sub volume_snapshot_delete {
> my ($cfg, $volid, $snap, $running) = @_;
>
>
> vdisk_free have also a cluster_lock_storage, so for lvm , I think it's
> better.
>
> (I have introduce a $snap param to vdisk_free, to only delete the
> specific snapshot, and not the whole chain)
vdisk_free is definitely wrong - you are not deleting a vdisk, just a
snapshot.. I think this might be an argument for keeping $running ;)
you can call the lock inside volume_snapshot_delete, right?
_______________________________________________
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-04-04 11:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250311102905.2680524-1-alexandre.derumier@groupe-cyllene.com>
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-qemu 1/1] add block-commit-replaces option patch Alexandre Derumier via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 qemu-server 01/11] blockdev: cmdline: convert drive to blockdev syntax Alexandre Derumier via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-storage 1/5] qcow2: add external snapshot support Alexandre Derumier via pve-devel
2025-04-01 13:50 ` Fabian Grünbichler
2025-04-02 8:01 ` DERUMIER, Alexandre via pve-devel
[not found] ` <0e2cd118f35aa8d4c410d362fea1a1b366df1570.camel@groupe-cyllene.com>
2025-04-02 8:28 ` Fabian Grünbichler
2025-04-03 4:27 ` DERUMIER, Alexandre via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 qemu-server 02/11] blockdev : convert qemu_driveadd && qemu_drivedel Alexandre Derumier via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-storage 2/5] lvmplugin: add qcow2 snapshot Alexandre Derumier via pve-devel
2025-04-01 13:50 ` Fabian Grünbichler
2025-03-11 10:28 ` [pve-devel] [PATCH v4 qemu-server 03/11] replace qemu_block_set_io_throttle with qom-set throttlegroup limits Alexandre Derumier via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-storage 3/5] storage: vdisk_free: remove external snapshots Alexandre Derumier via pve-devel
2025-04-01 13:50 ` Fabian Grünbichler
2025-04-07 11:02 ` DERUMIER, Alexandre via pve-devel
2025-04-07 11:29 ` DERUMIER, Alexandre via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 qemu-server 04/11] blockdev: vm_devices_list : fix block-query Alexandre Derumier via pve-devel
2025-04-02 8:10 ` Fabian Grünbichler
2025-04-11 17:32 ` DERUMIER, Alexandre via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-storage 4/5] lvm: lvrename helper: allow path Alexandre Derumier via pve-devel
2025-04-01 13:50 ` Fabian Grünbichler
2025-03-11 10:28 ` [pve-devel] [PATCH v4 qemu-server 05/11] blockdev: convert cdrom media eject/insert Alexandre Derumier via pve-devel
2025-03-11 10:28 ` [pve-devel] [PATCH v4 pve-storage 5/5] lvm: add lvremove helper Alexandre Derumier via pve-devel
2025-04-01 13:50 ` Fabian Grünbichler
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 06/11] blockdev: block_resize: convert to blockdev Alexandre Derumier via pve-devel
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 07/11] blockdev: nbd_export: block-export-add : use drive-$id for nodename Alexandre Derumier via pve-devel
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 08/11] blockdev: convert drive_mirror to blockdev_mirror Alexandre Derumier via pve-devel
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 09/11] blockdev: change aio on target if io_uring is not default Alexandre Derumier via pve-devel
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 10/11] blockdev: add backing_chain support Alexandre Derumier via pve-devel
2025-04-02 8:10 ` Fabian Grünbichler
2025-03-11 10:29 ` [pve-devel] [PATCH v4 qemu-server 11/11] qcow2: add external snapshot support Alexandre Derumier via pve-devel
2025-04-02 8:10 ` Fabian Grünbichler
2025-04-03 4:51 ` DERUMIER, Alexandre via pve-devel
2025-04-04 11:31 ` DERUMIER, Alexandre via pve-devel
[not found] ` <3e516016a970e52e5a1014dbcd6cf9507581da74.camel@groupe-cyllene.com>
2025-04-04 11:37 ` Fabian Grünbichler [this message]
2025-04-04 13:02 ` DERUMIER, Alexandre 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=137183061.6481.1743766626183@webmail.proxmox.com \
--to=f.gruenbichler@proxmox.com \
--cc=alexandre.derumier@groupe-cyllene.com \
--cc=pve-devel@lists.proxmox.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