From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 41DBF1FF161 for ; Wed, 18 Dec 2024 10:36:35 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 478D911EBF; Wed, 18 Dec 2024 10:36:04 +0100 (CET) Mime-Version: 1.0 Date: Wed, 18 Dec 2024 10:36:00 +0100 Message-Id: To: "Proxmox VE development discussion" From: "Max Carrara" X-Mailer: aerc 0.18.2-0-ge037c095a049 References: <20241217154814.82121-1-f.ebner@proxmox.com> <20241217154814.82121-10-f.ebner@proxmox.com> In-Reply-To: <20241217154814.82121-10-f.ebner@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.032 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [common.pm, lvmplugin.pm, plugin.pm, dirplugin.pm] Subject: Re: [pve-devel] [PATCH v2 storage 09/10] common: introduce common module X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" On Tue Dec 17, 2024 at 4:48 PM CET, Fiona Ebner wrote: > From: Max Carrara > > This module's purpose is to provide shared functions, constants, etc. > for storage plugins and storage-related operations. > > It also contains the `get_deprecation_warning` subroutine that makes > it easier to warn developers and/or plugin authors that a subroutine > will be removed in the future. Thanks for including this patch already! Was really happy to see this :) Since I've never included a commit from somebody else's series / RFC in another series, is the commit message usually left as it is? You did mention below that you start out with a different function for your use case, but wouldn't it make sense to adapt the commit message overall accordingly? In this case, just the paragraph above my reply here. Just a small thing I was wondering about; if it's not necessary then I'm of course fine with leaving the message as it is. Also thanks for fixing up the Makefile -- that slipped under my radar back then, woops! Another thing I wanna note: It's actually *really* great you're adding this already; I was first intending to add this in an upcoming larger series, but since you're adding it already it means that we can all add stuff to this module independently and don't have to wait for my series to make it in. So, big thanks! It's much appreciated. > > Originally-by: Max Carrara > [FE: start out with a different function for my use case > fixup Makefile] > Signed-off-by: Fiona Ebner > --- > src/PVE/Storage/Common.pm | 54 +++++++++++++++++++++++++++++++++ > src/PVE/Storage/Common/Makefile | 6 ++++ > src/PVE/Storage/Makefile | 2 ++ > 3 files changed, 62 insertions(+) > create mode 100644 src/PVE/Storage/Common.pm > create mode 100644 src/PVE/Storage/Common/Makefile > > diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm > new file mode 100644 > index 0000000..3ae20dd > --- /dev/null > +++ b/src/PVE/Storage/Common.pm > @@ -0,0 +1,54 @@ > +package PVE::Storage::Common; > + > +use strict; > +use warnings; > + > +=pod > + > +=head1 NAME > + > +PVE::Storage::Common - Shared functions and utilities for storage plugins and storage operations > + > +=head1 DESCRIPTION > + > +This module contains common subroutines that are mainly to be used by storage > +plugins. This module's submodules contain subroutines that are tailored towards > +a more specific or related purpose. > + > +Functions concerned with storage-related C things, helpers > +for the C API can be found in this module. Functions that can't > +be grouped in a submodule can also be found here. > + > +=head1 SUBMODULES > + > +=over > + > +=back > + > +=head1 FUNCTIONS > + > +=cut > + > +=pod > + > +=head3 align_size_up > + > + $aligned_size = align_size_up($size, $granularity) > + > +Returns the next size bigger than or equal to C<$size> that is aligned with a > +granularity of C<$granularity>. Prints a message if the aligned size is not > +equal to the aligned size. > + > +=cut > + > +sub align_size_up : prototype($$) { > + my ($size, $granularity) = @_; > + > + my $padding = ($granularity - $size % $granularity) % $granularity; > + my $aligned_size = $size + $padding; > + print "size $size is not aligned to granularity $granularity, rounding up to $aligned_size\n" > + if $aligned_size != $size; > + return $aligned_size; > +} > + > +1; > diff --git a/src/PVE/Storage/Common/Makefile b/src/PVE/Storage/Common/Makefile > new file mode 100644 > index 0000000..0c4bba5 > --- /dev/null > +++ b/src/PVE/Storage/Common/Makefile > @@ -0,0 +1,6 @@ > +SOURCES = \ > + > + > +.PHONY: install > +install: > + for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/Storage/Common/$$i; done > diff --git a/src/PVE/Storage/Makefile b/src/PVE/Storage/Makefile > index d5cc942..ce3fd68 100644 > --- a/src/PVE/Storage/Makefile > +++ b/src/PVE/Storage/Makefile > @@ -1,4 +1,5 @@ > SOURCES= \ > + Common.pm \ > Plugin.pm \ > DirPlugin.pm \ > LVMPlugin.pm \ > @@ -18,5 +19,6 @@ SOURCES= \ > > .PHONY: install > install: > + make -C Common install > for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/Storage/$$i; done > make -C LunCmd install _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel