[pve-devel] [PATCH v5 pve-storage 01/11] cephconfig: change code style inside config writer
Max Carrara
m.carrara at proxmox.com
Tue Apr 2 16:55:13 CEST 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
Changes v4 --> v5:
* reorder commit (makes rebasing etc. in remaining patches easier)
src/PVE/CephConfig.pm | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/src/PVE/CephConfig.pm b/src/PVE/CephConfig.pm
index 6b10d46..9934fd5 100644
--- a/src/PVE/CephConfig.pm
+++ b/src/PVE/CephConfig.pm
@@ -65,28 +65,35 @@ 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$/;
+
$out .= "[$section]\n";
- foreach my $key (sort keys %{$cfg->{$section}}) {
+ for my $key (sort keys $cfg->{$section}->%*) {
$out .= "\t $key = $cfg->{$section}->{$key}\n";
}
$out .= "\n";
}
};
- &$cond_write_sec('global');
- &$cond_write_sec('client');
+ my @rexprs = (
+ qr/global/,
+ qr/client/,
+
+ 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('mds\..*');
- &$cond_write_sec('mon\..*');
- &$cond_write_sec('osd\..*');
- &$cond_write_sec('mgr\..*');
+ for my $re (@rexprs) {
+ $cond_write_sec->($re);
+ }
return $out;
}
--
2.39.2
More information about the pve-devel
mailing list