[pve-devel] [PATCH storage 1/2] add options parameter to cifs plugin (fixes #2920)
Fiona Ebner
f.ebner at proxmox.com
Thu Jul 28 12:26:26 CEST 2022
Please use "fix #2920" as a prefix
Am 13.05.22 um 15:55 schrieb Stefan Hrdlicka:
> this makes it possible to add all mount options offered by mount.cifs
> NFS & CIFS now share the options parameter since the use it for
> the same prupose
>
> Signed-off-by: Stefan Hrdlicka <s.hrdlicka at proxmox.com>
Just style nits :), so you can add
Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>
after addressing them.
> ---
> PVE/Storage/CIFSPlugin.pm | 10 ++++++++--
> PVE/Storage/NFSPlugin.pm | 4 ----
> PVE/Storage/Plugin.pm | 6 ++++++
> 3 files changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/PVE/Storage/CIFSPlugin.pm b/PVE/Storage/CIFSPlugin.pm
> index 982040a..e4ea320 100644
> --- a/PVE/Storage/CIFSPlugin.pm
> +++ b/PVE/Storage/CIFSPlugin.pm
> @@ -64,7 +64,7 @@ sub get_cred_file {
> }
>
> sub cifs_mount {
> - my ($server, $share, $mountpoint, $storeid, $smbver, $user, $domain) = @_;
> + my ($server, $share, $mountpoint, $storeid, $smbver, $user, $domain, $options) = @_;
>
> $server = "[$server]" if Net::IP::ip_is_ipv6($server);
> my $source = "//${server}/$share";
> @@ -80,6 +80,10 @@ sub cifs_mount {
>
> push @$cmd, '-o', defined($smbver) ? "vers=$smbver" : "vers=default";
>
> + if ($options) {
> + push @$cmd, '-o', $options;
> + }
Style nit: could be a single line with post-if
> +
> run_command($cmd, errmsg => "mount error");
> }
>
> @@ -144,6 +148,7 @@ sub options {
> mkdir => { optional => 1 },
> bwlimit => { optional => 1 },
> preallocation => { optional => 1 },
> + options => { optional => 1 },
> };
> }
>
> @@ -223,6 +228,7 @@ sub activate_storage {
> my $path = $scfg->{path};
> my $server = $scfg->{server};
> my $share = $scfg->{share};
> + my $options = $scfg->{options};
Style nit: single-use variable that can be avoided by using
$scfg->{options} directly below.
>
> if (!cifs_is_mounted($server, $share, $path, $cache->{mountdata})) {
>
> @@ -232,7 +238,7 @@ sub activate_storage {
> "directory '$path' does not exist\n" if ! -d $path;
>
> cifs_mount($server, $share, $path, $storeid, $scfg->{smbversion},
> - $scfg->{username}, $scfg->{domain});
> + $scfg->{username}, $scfg->{domain}, $options);
Style nit: already pre-existing problem, but nowadays, we put each
argument on a single line once it gets too long.
> }
>
> $class->SUPER::activate_storage($storeid, $scfg, $cache);
> diff --git a/PVE/Storage/NFSPlugin.pm b/PVE/Storage/NFSPlugin.pm
> index 5bd7313..f777483 100644
> --- a/PVE/Storage/NFSPlugin.pm
> +++ b/PVE/Storage/NFSPlugin.pm
> @@ -69,10 +69,6 @@ sub properties {
> description => "Server IP or DNS name.",
> type => 'string', format => 'pve-storage-server',
> },
> - options => {
> - description => "NFS mount options (see 'man nfs')",
> - type => 'string', format => 'pve-storage-options',
> - },
> };
> }
>
> diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm
> index 0a100b7..cf65b3c 100644
> --- a/PVE/Storage/Plugin.pm
> +++ b/PVE/Storage/Plugin.pm
> @@ -180,6 +180,12 @@ my $defaultData = {
> default => 'metadata',
> optional => 1,
> },
> + options => {
> + description => "NFS/CIFS mount options (see 'man nfs' " .
> + "or 'man mount.cifs')",
Style nit: wrong indentation
> + type => 'string', format => 'pve-storage-options',
> + optional => 1,
here as well
> + },
> },
> };
>
More information about the pve-devel
mailing list