From: Steve Dickson <SteveD@redhat.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Linux NFS Mailing list <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH 1/1] mount: RDMA processing in the mount command is broken
Date: Thu, 02 Sep 2010 18:45:40 -0400 [thread overview]
Message-ID: <4C802914.50505@RedHat.com> (raw)
In-Reply-To: <1FB4635E-5757-420B-A32B-47D2D1778A56@oracle.com>
Hey Chuck,
On 09/02/2010 04:15 PM, Chuck Lever wrote:
>
> On Sep 2, 2010, at 4:00 PM, Steve Dickson wrote:
>
>> The mounting code that process RMDA mounts is broken in a few places
>>
>> First with '-o proto=rdma' was broken because nfs_get_proto()
>> did not how to convert a netid of 'rdma' in to a AF_INET
>> address family.
>
> The usual solution for that is to add appropriate definitions to /etc/netconfig.
> Since "rdma" is going to become (or has become) a valid "IETF standard" netid,
> shouldn't this be handled just like the other netids?
No.. because it is not a netid... when 'rdma' become a netid we'll treat
like one. Until the then let treat like we always have been...
> At some point "rdma" is going to start showing up in rpcbind,
> so this is going to have to work like a normal netid.
When this happen I will be more that willing to accept
the patches that will add support for the new netid.
>
>> Secondly, '-o rdma' was broken because po_get() was being using
>> to detect the existence of 'rdma' in the options. With '-o rdma'
>> there is no value associated with that option so po_get()
>> was always return NULL.
>
> This should be handled just the same way the "udp" and "tcp" mount
> options are handled, in nfs_nfs_protocol(). Just add an entry for
> "rdma" in nfs_transport_opttbl. The problem is we don't have an
> IPPROTO_ number for RDMA, so you'll have to make one up.
Exactly... And I was not about to make up a IPPROTO_ number
I just think that's crazy... Plus it turns out we didn't need to.
All that's needed is for the address family to be set to
AF_INET, from what Tom said. So it makes total sense put the
check in nfs_get_proto()
> What does the kernel do in these cases?
I took a quick look it appears they use IPPROTO_TCP (see xprt_setup_rdma())
but it appears they did not make up a IPPROTO_ number.
>
>> This patch address both those problems.
>
> Let's not riddle the mount code with these ad hoc string comparisons when
> we've already got plenty adequate generic support for adding new transport labels.
Riddle?? I'm condensing two existing (broken) if statements and adding
a third... I'm a bit taken back by your verbiage... I see changes to be
very unobtrusive and clean... with the befit of them working... ;-)
steved.
next prev parent reply other threads:[~2010-09-02 22:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-02 20:00 [PATCH 1/1] mount: RDMA processing in the mount command is broken Steve Dickson
2010-09-02 20:15 ` Chuck Lever
2010-09-02 22:45 ` Steve Dickson [this message]
2010-09-03 16:01 ` Chuck Lever
2010-09-03 19:59 ` Steve Dickson
2010-09-07 15:51 ` Chuck Lever
2010-09-02 20:35 ` Chuck Lever
2010-09-02 22:04 ` Steve Dickson
2010-09-03 15:01 ` Chuck Lever
2010-09-03 19:53 ` 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=4C802914.50505@RedHat.com \
--to=steved@redhat.com \
--cc=chuck.lever@oracle.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.