From: Frank van Maarseveen <frankvm@frankvm.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Linux NFS mailing list <nfs@lists.sourceforge.net>
Subject: Re: RFC: nlmclnt_grant() address check vs. callback address binding
Date: Tue, 3 Jul 2007 09:01:10 +0200 [thread overview]
Message-ID: <20070703070109.GA8558@janus> (raw)
In-Reply-To: <1183424670.6479.38.camel@heimdal.trondhjem.org>
On Mon, Jul 02, 2007 at 09:04:30PM -0400, Trond Myklebust wrote:
> On Mon, 2007-07-02 at 17:49 +0200, Frank van Maarseveen wrote:
>
> > At first I thought fixing the server is the right thing to do because
> > the server behavior is arguably incorrect. Not easy but certainly doable
> > (I'd do it if it has a chance of being accepted). It might also help
> > NATting NFS traffic in some cases. However:
> >
> > - I'm not sure if an address check such as in nlmclnt_grant()
> > is actually buying us anything.
>
> Exactly how else is the client going to figure out which lock this
> corresponds to?
The filehandle + pid/svid + lock start + lock end as it is doing right
now. Filehandles offer a pretty strong check already because they are
designed to handle inode reuse too.
The 32 bit pid/svid/lockowner number is conclusive.
>
> > - clients requiring a correct callback src address might not
> > work with other NFS server implementations and/or (future?)
> > concepts for clustering/load balancing.
>
> NFSv3 development is dead. NLM locking development is doubly so...
Not everyone is using (or can use) NFSv4. This is not about developing
NFSv3 but about optimizing/fixing it in its current deployment.
>
> > - Multiple IP addresses may be a workaround for reserved port
> > shortage.
>
> There is _NO_ way for the client to figure out what lock the granted
> request refers to if the server starts transmitting from random IP
> addresses.
> * There is no universal namespace for filehandles that can be used
> to identify which file the granted request is meant for
> * The cookie is not guaranteed to be the same as that sent by the
> client for the LOCK request
> * There is nothing else in the nlm_lock that can be used to
> identify which file we're talking about.
The svid/pid. See nlm_find_lockowner().
--
Frank
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next prev parent reply other threads:[~2007-07-03 7:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-02 15:49 RFC: nlmclnt_grant() address check vs. callback address binding Frank van Maarseveen
2007-07-03 1:04 ` Trond Myklebust
2007-07-03 7:01 ` Frank van Maarseveen [this message]
2007-07-03 12:03 ` Trond Myklebust
2007-07-03 20:47 ` Frank van Maarseveen
2007-07-03 21:32 ` Trond Myklebust
2007-07-03 20:33 ` J. Bruce Fields
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=20070703070109.GA8558@janus \
--to=frankvm@frankvm.com \
--cc=nfs@lists.sourceforge.net \
--cc=trond.myklebust@fys.uio.no \
/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.