2012-03-02 16:53:41

by Steve Dickson

[permalink] [raw]
Subject: [PATCH 1/1] mount.nfs: strip of extra slashes in device name

The kernel strips off extra '/' when the device is entered
into /proc/mounts. So that umounts can this devices, strip off
any extra '/' before storing the device in the mtab.

Signed-off-by: Steve Dickson <[email protected]>
---
utils/mount/mount.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/utils/mount/mount.c b/utils/mount/mount.c
index eea00af..eb63f50 100644
--- a/utils/mount/mount.c
+++ b/utils/mount/mount.c
@@ -485,6 +485,24 @@ int main(int argc, char *argv[])
goto out;
}
/*
+ * The kernel strips off extra '/' when the device is entered
+ * into /proc/mounts. So that umounts can this devices, strip off
+ * any extra '/' before storing the device in the mtab.
+ */
+ if (strstr(spec, "//") != NULL) {
+ char *colen, *slash;
+
+ if ((colen = strchr(spec, ':'))) {
+ slash = (colen + 1);
+ while (*slash && *(slash+1) == '/')
+ slash++;
+ while (*slash)
+ *(++colen) = *(slash++);
+ *(colen+1) = '\0';
+ }
+ }
+
+ /*
* Concatenate mount options from the configuration file
*/
mount_opts = mount_config_opts(spec, mount_point, mount_opts);
--
1.7.1



2012-03-02 18:47:07

by Malahal Naineni

[permalink] [raw]
Subject: Re: [PATCH 1/1] mount.nfs: strip of extra slashes in device name

My kernel doesn't seem to strip '/' from its /proc/mounts. What kernel
are you using? Anyway, how about something similar to the following
patch that fixes only NFSv4 atm:

http://www.spinics.net/lists/linux-nfs/msg27351.html

Regards, Malahal.

Steve Dickson [[email protected]] wrote:
> The kernel strips off extra '/' when the device is entered
> into /proc/mounts. So that umounts can this devices, strip off
> any extra '/' before storing the device in the mtab.
>
> Signed-off-by: Steve Dickson <[email protected]>
> ---
> utils/mount/mount.c | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/utils/mount/mount.c b/utils/mount/mount.c
> index eea00af..eb63f50 100644
> --- a/utils/mount/mount.c
> +++ b/utils/mount/mount.c
> @@ -485,6 +485,24 @@ int main(int argc, char *argv[])
> goto out;
> }
> /*
> + * The kernel strips off extra '/' when the device is entered
> + * into /proc/mounts. So that umounts can this devices, strip off
> + * any extra '/' before storing the device in the mtab.
> + */
> + if (strstr(spec, "//") != NULL) {
> + char *colen, *slash;
> +
> + if ((colen = strchr(spec, ':'))) {
> + slash = (colen + 1);
> + while (*slash && *(slash+1) == '/')
> + slash++;
> + while (*slash)
> + *(++colen) = *(slash++);
> + *(colen+1) = '\0';
> + }
> + }
> +
> + /*
> * Concatenate mount options from the configuration file
> */
> mount_opts = mount_config_opts(spec, mount_point, mount_opts);
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2012-03-02 19:16:35

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH 1/1] mount.nfs: strip of extra slashes in device name



On 03/02/2012 01:45 PM, Malahal Naineni wrote:
> My kernel doesn't seem to strip '/' from its /proc/mounts. What kernel
> are you using?
a later RHEL6 kernel... but I see the same thing with Fedora f16 kernels (3.2)
as well... What kernel are you using?

> Anyway, how about something similar to the following
> patch that fixes only NFSv4 atm:
>
> http://www.spinics.net/lists/linux-nfs/msg27351.html
I made a comment on that... Again, sorry for my tartness...

steved.

>
> Regards, Malahal.
>
> Steve Dickson [[email protected]] wrote:
>> The kernel strips off extra '/' when the device is entered
>> into /proc/mounts. So that umounts can this devices, strip off
>> any extra '/' before storing the device in the mtab.
>>
>> Signed-off-by: Steve Dickson <[email protected]>
>> ---
>> utils/mount/mount.c | 18 ++++++++++++++++++
>> 1 files changed, 18 insertions(+), 0 deletions(-)
>>
>> diff --git a/utils/mount/mount.c b/utils/mount/mount.c
>> index eea00af..eb63f50 100644
>> --- a/utils/mount/mount.c
>> +++ b/utils/mount/mount.c
>> @@ -485,6 +485,24 @@ int main(int argc, char *argv[])
>> goto out;
>> }
>> /*
>> + * The kernel strips off extra '/' when the device is entered
>> + * into /proc/mounts. So that umounts can this devices, strip off
>> + * any extra '/' before storing the device in the mtab.
>> + */
>> + if (strstr(spec, "//") != NULL) {
>> + char *colen, *slash;
>> +
>> + if ((colen = strchr(spec, ':'))) {
>> + slash = (colen + 1);
>> + while (*slash && *(slash+1) == '/')
>> + slash++;
>> + while (*slash)
>> + *(++colen) = *(slash++);
>> + *(colen+1) = '\0';
>> + }
>> + }
>> +
>> + /*
>> * Concatenate mount options from the configuration file
>> */
>> mount_opts = mount_config_opts(spec, mount_point, mount_opts);
>> --
>> 1.7.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2012-03-02 21:52:23

by Malahal Naineni

[permalink] [raw]
Subject: Re: [PATCH 1/1] mount.nfs: strip of extra slashes in device name

Malahal Naineni [[email protected]] wrote:
> > as well... What kernel are you using?
>
> Using 3.3.0-rc1+ kernel.
> [root@elm3c105 ~]# grep mnt /proc/mounts
> elm3c104:///server/ /mnt nfs rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=9.47.69.104,mountvers=3,mountport=929,mountproto=udp,local_lock=none,addr=9.47.69.104 0 0
>
> I must be missing something, I see the same thing in RHEL6.2 version of
> Linux.

I rebooted my server with an older distro and you can see above that it
is mounting NFSv3. Sorry, my bad. Kernel does strip extra leading '/'s
when I mount NFSv4.

Regards, Malahal.


2012-03-02 19:47:00

by Malahal Naineni

[permalink] [raw]
Subject: Re: [PATCH 1/1] mount.nfs: strip of extra slashes in device name

Steve Dickson [[email protected]] wrote:
>
>
> On 03/02/2012 01:45 PM, Malahal Naineni wrote:
> > My kernel doesn't seem to strip '/' from its /proc/mounts. What kernel
> > are you using?
> a later RHEL6 kernel... but I see the same thing with Fedora f16 kernels (3.2)
> as well... What kernel are you using?

Using 3.3.0-rc1+ kernel.
[root@elm3c105 ~]# grep mnt /proc/mounts
elm3c104:///server/ /mnt nfs rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=9.47.69.104,mountvers=3,mountport=929,mountproto=udp,local_lock=none,addr=9.47.69.104 0 0

I must be missing something, I see the same thing in RHEL6.2 version of
Linux.

Regards, Malahal.