[pve-devel] [PATCH v4 pve-storage 10/16] cephconfig: change code style inside config writer
Max Carrara
m.carrara at proxmox.com
Tue Mar 5 16:07:52 CET 2024
This commit changes the code style of subroutine `write_ceph_config`
to match our style guide [0] more.
Furthermore, the repeated calls to the inner subroutine are replaced
with a loop, while the regular expressions used by the inner sub are
now quoted with `qr` to prevent any accidental mis-quotings in the
future.
[0]: https://pve.proxmox.com/wiki/Perl_Style_Guide
Signed-off-by: Max Carrara <m.carrara at proxmox.com>
---
Changes v2 --> v3:
* new; initial style changes moved from patch 06 of series v2
* `qr` operator for regexes to avoid character escaping issues
* call `$cond_write_sec` in loop
Changes v3 --> v4:
* use postfix deref ($hashref->%* instead of %$hashref)
* rebased due to previous changes
src/PVE/CephConfig.pm | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/PVE/CephConfig.pm b/src/PVE/CephConfig.pm
index da28940..a361a5b 100644
--- a/src/PVE/CephConfig.pm
+++ b/src/PVE/CephConfig.pm
@@ -98,12 +98,12 @@ sub write_ceph_config {
my $cond_write_sec = sub {
my $re = shift;
- foreach my $section (sort keys %$cfg) {
+ for my $section (sort keys $cfg->%*) {
next if $section !~ m/^$re$/;
next if exists($written_sections->{$section});
$out .= "[$section]\n";
- foreach my $key (sort keys %{$cfg->{$section}}) {
+ for my $key (sort keys $cfg->{$section}->%*) {
my $value = $cfg->{$section}->{$key};
# escape comment literals
$value =~ s/(#|;)/\\$1/g;
@@ -116,21 +116,27 @@ sub write_ceph_config {
}
};
- &$cond_write_sec('global');
- &$cond_write_sec('client');
- &$cond_write_sec('client\..*');
+ my @rexprs = (
+ qr/global/,
+ qr/client/,
+ qr/client\..*/,
- &$cond_write_sec('mds');
- &$cond_write_sec('mon');
- &$cond_write_sec('osd');
- &$cond_write_sec('mgr');
+ qr/mds/,
+ qr/mon/,
+ qr/osd/,
+ qr/mgr/,
- &$cond_write_sec('mds\..*');
- &$cond_write_sec('mon\..*');
- &$cond_write_sec('osd\..*');
- &$cond_write_sec('mgr\..*');
+ qr/mds\..*/,
+ qr/mon\..*/,
+ qr/osd\..*/,
+ qr/mgr\..*/,
- &$cond_write_sec('.*');
+ qr/.*/,
+ );
+
+ for my $re (@rexprs) {
+ $cond_write_sec->($re);
+ }
return $out;
}
--
2.39.2
More information about the pve-devel
mailing list