linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Dickson <SteveD@redhat.com>
To: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH] Get normalized paths for comparing NFS export paths
Date: Sun, 04 Mar 2012 17:31:24 -0500	[thread overview]
Message-ID: <4F53ED3C.2020209@RedHat.com> (raw)
In-Reply-To: <1330801976.2781.19.camel@lade.trondhjem.org>



On 03/03/2012 02:12 PM, Myklebust, Trond wrote:
> On Sat, 2012-03-03 at 12:39 -0500, Steve Dickson wrote:
>>
>> On 03/02/2012 05:01 PM, Malahal Naineni wrote:
>>> Steve Dickson [SteveD@redhat.com] wrote:
>>>> So what my patch does is "normalizes" the device name early
>>>> on in main, so the correct name used used through the mount
>>>> and when its written the mtab. Plus, for better or worses, 
>>>> since the new device name will always be shorter, I just 
>>>> reuse/rewrite the memory allocated for the argv vector.. 
>>>> Meaning there is no allocation... 
>>>
>>> My problem is a bit different.
>>>
>>> "mount -t nfs4 server:export /mnt" works but umount fails.
>>>
>>> Notice that there is no '/' in the path!
>>>
>>> Normalizing or just stripping leading '/'s early won't help with the
>>> above problem and since there is already a hack to strip the
>>> __trailing__ '/' that kernel adds to /proc/mounts file, I just made the
>>> existing hack it a bit better by normalizing.
>>>
>> How about something like this... It takes on both case early on...
>>
>> Author: Steve Dickson <steved@redhat.com>
>> Date:   Sat Mar 3 12:31:23 2012 -0500
>>
>>     mount.nfs: Validate device name syntax
>>     
>>     To ensure the device name is found at unmount time strip
>>     off the multiple '/' or add a '/' if one does not exist.
>>     
>>     Signed-off-by: Steve Dickson <steved@redhat.com>
> 
> NACK.
> 
> NFSv4 is the only protocol that has a standard mount path syntax, and
> that is because the client performs the job of interpreting the path
> name and translating it into PUTROOTFH followed by a bunch of LOOKUPs.
> IOW: the standard syntax there is the one imposed by the client.
> 
> There is nothing in the NFSv2/v3 MOUNT spec that states that a path
> needs to start with '/'. Nor is there even anything in the spec that
> states that '/' is required to be used as the directory component
> separator. The X/OPEN docs state that '/' is recommended for
> portability, but do not make it a requirement. See
> http://pubs.opengroup.org/onlinepubs/9629799/chap8.htm#tagcjh_09_02_02_03 
> 
> IOW: I'm perfectly allowed to set up a 'mountd' server that uses '\' or
> even something like '|' as a path component separator. This kind of
> patch would break the client's existing ability to mount from such a
> server.
And where does an server like this exist? One that uses '|' as its
path component separator?? ;-)

Just to be clear, you are ok with striping the multiple slashes, for
all protocol versions, but its only kosher to added the leading 
slash for v4 mounts. Correct?  

steved.
 

  reply	other threads:[~2012-03-04 22:31 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-03  1:42 [PATCH] Check for beginning '/' in the mount path Malahal Naineni
2012-02-03 11:15 ` Boaz Harrosh
2012-02-03 12:16   ` NeilBrown
2012-02-03 14:29     ` Malahal Naineni
2012-02-05 11:03       ` Boaz Harrosh
2012-02-06 18:11         ` Malahal Naineni
2012-02-07 20:44         ` [PATCH] Get normalized paths for comparing NFS export paths Malahal Naineni
2012-02-16 18:09           ` Malahal Naineni
2012-03-02 19:10           ` Steve Dickson
2012-03-02 19:27             ` Malahal Naineni
2012-03-02 20:57               ` Steve Dickson
2012-03-02 22:01                 ` Malahal Naineni
2012-03-03 17:39                   ` Steve Dickson
2012-03-03 19:12                     ` Myklebust, Trond
2012-03-04 22:31                       ` Steve Dickson [this message]
2012-03-04 22:46                         ` Myklebust, Trond
2012-03-04 23:08                           ` Steve Dickson
2012-03-05  4:46                           ` Malahal Naineni
2012-03-05 12:03                             ` Steve Dickson
2012-03-04 22:58                         ` Steve Dickson
2012-03-04 23:26                           ` Myklebust, Trond
2012-03-05  0:03                             ` Steve Dickson
2012-03-05  2:04                               ` Myklebust, Trond
2012-03-05  4:53                                 ` Malahal Naineni
2012-03-05 11:55                                 ` Steve Dickson
2012-03-05 14:47                                   ` Malahal Naineni
2012-03-05 15:03                                     ` Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F53ED3C.2020209@RedHat.com \
    --to=steved@redhat.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).