From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id B723C71BF5 for ; Fri, 13 May 2022 15:56:02 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id AE78A2B1C for ; Fri, 13 May 2022 15:56:02 +0200 (CEST) Received: from ella.proxmox.com (unknown [94.136.29.99]) by firstgate.proxmox.com (Proxmox) with ESMTP id 783F22B04 for ; Fri, 13 May 2022 15:56:01 +0200 (CEST) Received: by ella.proxmox.com (Postfix, from userid 10042) id 86BE25C4862; Fri, 13 May 2022 15:55:55 +0200 (CEST) From: Stefan Hrdlicka To: pve-devel@lists.proxmox.com Date: Fri, 13 May 2022 15:55:49 +0200 Message-Id: <20220513135550.1856651-2-s.hrdlicka@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220513135550.1856651-1-s.hrdlicka@proxmox.com> References: <20220513135550.1856651-1-s.hrdlicka@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods NO_DNS_FOR_FROM 0.001 Envelope sender has no MX or A DNS records RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH storage 1/2] add options parameter to cifs plugin (fixes #2920) 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: , X-List-Received-Date: Fri, 13 May 2022 13:56:02 -0000 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 --- 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; + } + 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}; 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); } $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')", + type => 'string', format => 'pve-storage-options', + optional => 1, + }, }, }; -- 2.30.2