diff mbox

on 2nd try mount.cifs must also uppercase "orig_dev" - recent kernels now ignore "unc=..." mount option

Message ID 53B2EA59.8090404@kukkukk.com (mailing list archive)
State New, archived
Headers show

Commit Message

Günter Kukkukk July 1, 2014, 5:05 p.m. UTC
userland mount helper mount.cifs.

Also uppercase the now used (kernel) "orig_dev" parameter, to get the
mount retry working again.

Cheers, Günter
--

Comments

Jeff Layton July 1, 2014, 5:14 p.m. UTC | #1
On Tue, 01 Jul 2014 19:05:29 +0200
Günter Kukkukk <linux@kukkukk.com> wrote:

> userland mount helper mount.cifs.
> 
> Also uppercase the now used (kernel) "orig_dev" parameter, to get the
> mount retry working again.
> 
> Cheers, Günter

Thanks Günter. Patch looks correct to me. I'll merge it within the next
few days unless someone objects.

Cheers!
Jeff Layton July 3, 2014, 8:06 p.m. UTC | #2
On Tue, 01 Jul 2014 19:05:29 +0200
Günter Kukkukk <linux@kukkukk.com> wrote:

> userland mount helper mount.cifs.
> 
> Also uppercase the now used (kernel) "orig_dev" parameter, to get the
> mount retry working again.
> 
> Cheers, Günter

Patch merged into master.

Thanks!
diff mbox

Patch

From 5b6633b93b4df19b6c2863b8c9cf11d622132b60 Mon Sep 17 00:00:00 2001
From: Guenter Kukkukk <kukks@samba.org>
Date: Tue, 1 Jul 2014 17:43:55 +0200
Subject: [PATCH] on 2nd try mount.cifs must also uppercase "orig_dev" - recent
 kernels now ignore "unc=..." mount option

mount.cifs.c, when getting errno=ENXIO, retries the mount with uppercased
hostname, sharename and prefixpath in the "unc=..." mount option, which
is ignored now in the kernel. Used e.g. during OS/2 mounts, which fail now.

Also uppercase the now used "orig_dev" parameter.

Signed-off-by: Guenter Kukkukk <kukks@samba.org>
---
 mount.cifs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mount.cifs.c b/mount.cifs.c
index 497665d..3535096 100644
--- a/mount.cifs.c
+++ b/mount.cifs.c
@@ -2097,7 +2097,8 @@  mount_retry:
 			if (!already_uppercased &&
 			    uppercase_string(parsed_info->host) &&
 			    uppercase_string(parsed_info->share) &&
-			    uppercase_string(parsed_info->prefix)) {
+			    uppercase_string(parsed_info->prefix) &&
+			    uppercase_string(orig_dev)) {
 				fprintf(stderr,
 					"Retrying with upper case share name\n");
 				already_uppercased = 1;
-- 
1.8.4.5