* [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly
@ 2021-07-30 11:04 Hannes Laimer
2021-07-30 13:06 ` [pve-devel] applied: " Thomas Lamprecht
2021-08-02 8:29 ` [pve-devel] " Fabian Ebner
0 siblings, 2 replies; 4+ messages in thread
From: Hannes Laimer @ 2021-07-30 11:04 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
PVE/Storage/BTRFSPlugin.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/PVE/Storage/BTRFSPlugin.pm b/PVE/Storage/BTRFSPlugin.pm
index 4596b30..411cab9 100644
--- a/PVE/Storage/BTRFSPlugin.pm
+++ b/PVE/Storage/BTRFSPlugin.pm
@@ -410,7 +410,7 @@ sub free_image {
$class->parse_volname($volname);
if ($format ne 'subvol' && $format ne 'raw') {
- return PVE::Storage::DirPlugin::free_image(@_);
+ return PVE::Storage::DirPlugin->free_image($storeid, $scfg, $volname, $isBase, $_format);
}
my $path = $class->filesystem_path($scfg, $volname);
--
2.30.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] applied: Re: [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly
2021-07-30 11:04 [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly Hannes Laimer
@ 2021-07-30 13:06 ` Thomas Lamprecht
2021-08-02 8:29 ` [pve-devel] " Fabian Ebner
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2021-07-30 13:06 UTC (permalink / raw)
To: Proxmox VE development discussion, Hannes Laimer
On 30/07/2021 13:04, Hannes Laimer wrote:
> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
> ---
> PVE/Storage/BTRFSPlugin.pm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
applied, thanks! Albeit the commit message was lacking background, so I amended
it with:
> The method is only derived in the DirPlugin module from the base
> Plugin, so we do not have it available there through a static module
> method call using ::, but only when using a class dereference.
>
> Other fix options would have been:
>
> PVE::Storage::Plugin::free_image(@_);
>
> or:
> $class->SUPER::free_image($storeid, ...);
IMO, always helpful to have some background, it can help others learn something or
jump start such lousy brains like mine if they come over this in a few months again,
maybe even want to "optimize it back"; at least that's my experience with ours and
other projects source control trees, I never thought "wow, too much related info there
in the commit message" ;-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly
2021-07-30 11:04 [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly Hannes Laimer
2021-07-30 13:06 ` [pve-devel] applied: " Thomas Lamprecht
@ 2021-08-02 8:29 ` Fabian Ebner
2021-08-02 9:58 ` Wolfgang Bumiller
1 sibling, 1 reply; 4+ messages in thread
From: Fabian Ebner @ 2021-08-02 8:29 UTC (permalink / raw)
To: pve-devel, h.laimer
Am 30.07.21 um 13:04 schrieb Hannes Laimer:
> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
> ---
> PVE/Storage/BTRFSPlugin.pm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/PVE/Storage/BTRFSPlugin.pm b/PVE/Storage/BTRFSPlugin.pm
> index 4596b30..411cab9 100644
> --- a/PVE/Storage/BTRFSPlugin.pm
> +++ b/PVE/Storage/BTRFSPlugin.pm
> @@ -410,7 +410,7 @@ sub free_image {
> $class->parse_volname($volname);
>
> if ($format ne 'subvol' && $format ne 'raw') {
> - return PVE::Storage::DirPlugin::free_image(@_);
> + return PVE::Storage::DirPlugin->free_image($storeid, $scfg, $volname, $isBase, $_format);
Sorry, I had missed this in our brief off-list discussion, but this
actually behaves differently from the previously intended semantics:
When free_image (the one that's called here) calls a method, now the
method from DirPlugin is used rather than the one from BTRFSPlugin. It
/might/ be fine in this case, but not sure. To be on the safe (and
future-proof) side, we should go with one of the alternatives Thomas
suggested.
> }
>
> my $path = $class->filesystem_path($scfg, $volname);
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly
2021-08-02 8:29 ` [pve-devel] " Fabian Ebner
@ 2021-08-02 9:58 ` Wolfgang Bumiller
0 siblings, 0 replies; 4+ messages in thread
From: Wolfgang Bumiller @ 2021-08-02 9:58 UTC (permalink / raw)
To: Fabian Ebner; +Cc: pve-devel, h.laimer
On Mon, Aug 02, 2021 at 10:29:32AM +0200, Fabian Ebner wrote:
> Am 30.07.21 um 13:04 schrieb Hannes Laimer:
> > Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
> > ---
> > PVE/Storage/BTRFSPlugin.pm | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/PVE/Storage/BTRFSPlugin.pm b/PVE/Storage/BTRFSPlugin.pm
> > index 4596b30..411cab9 100644
> > --- a/PVE/Storage/BTRFSPlugin.pm
> > +++ b/PVE/Storage/BTRFSPlugin.pm
> > @@ -410,7 +410,7 @@ sub free_image {
> > $class->parse_volname($volname);
> > if ($format ne 'subvol' && $format ne 'raw') {
> > - return PVE::Storage::DirPlugin::free_image(@_);
> > + return PVE::Storage::DirPlugin->free_image($storeid, $scfg, $volname, $isBase, $_format);
>
> Sorry, I had missed this in our brief off-list discussion, but this actually
> behaves differently from the previously intended semantics:
>
> When free_image (the one that's called here) calls a method, now the method
> from DirPlugin is used rather than the one from BTRFSPlugin. It /might/ be
> fine in this case, but not sure. To be on the safe (and future-proof) side,
> we should go with one of the alternatives Thomas suggested.
Yes, let's please change this.
Normally I'd lean towards the `SUPER` version, but since our plugin
structure is somewhat "weird" (basically half of `DirPlugin` is
implemented in `Plugin`, and the other plugins dance around it...
somewhat...), I'd almost prefer calling `Plugin` directly.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-08-02 9:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-30 11:04 [pve-devel] [PATCH pve-storage] fix #3555: BTRFSPlugin: call free_image correctly Hannes Laimer
2021-07-30 13:06 ` [pve-devel] applied: " Thomas Lamprecht
2021-08-02 8:29 ` [pve-devel] " Fabian Ebner
2021-08-02 9:58 ` Wolfgang Bumiller
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