linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* nfsd changes for 3.5
@ 2012-05-31 18:24 J. Bruce Fields
  2012-05-31 18:58 ` Linus Torvalds
  0 siblings, 1 reply; 8+ messages in thread
From: J. Bruce Fields @ 2012-05-31 18:24 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-nfs, linux-fsdevel, linux-kernel

Please pull the following nfsd and file-locking changes from the for-3.5
branch at:

	git://linux-nfs.org/~bfields/linux.git for-3.5

Sorry this is a bit late.  In fact I still have a review backlog (at a
minimum some bugfixes), so will send a second pull later.

This includes patches addressing a long-standing problem in our NFSv4
implementation, which is that read delegations aren't broken on certain
local operations.  (Hence a diffstat with a few lines in namei.c and
attr.c).  The problem isn't solved completely in the case of rename,
where a small race remains; the patches to fix that will come in from Al
Viro if they pass review.  But there's no regression in nfsd behavior if
those patches don't make it in.

Other than that:

	- From Stanislav Kinsbursky, a bunch of NFS containerization
	  work (still in progress).
	- Fix a failure to process encrypted rpc's from Windows clients
	  and servers due to our (incorrect) failure to handle gss
	  tokens with rotated data.
	- Fix some stuff caught by sparse (actual bugs are fairly
	  minor); thanks to Al for reminding me to add sparse to my
	  regular testing.
	- Fixes for some protocol bugs in the procedures that establish
	  4.0 and 4.1 clients, and much cleaner code.  (Thanks also to
	  Chuck for a bugfix here, and Bryan and Trond for finding
	  another bug.)
	- Some cleanup and bugfixes from Jeff, Simo, and Dros.

--b.


Chuck Lever (1):
      NFSD: SETCLIENTID_CONFIRM returns NFS4ERR_CLID_INUSE too often

J. Bruce Fields (44):
      locks: introduce new FL_DELEG lock flag
      locks: implement delegations
      locks: break delegations on unlink
      locks: break delegations on rename
      locks: break delegations on link
      locks: break delegations on any attribute modification
      nfsd4: minor nfs4_setlease cleanup
      nfsd4: delay setting current_fh in open
      nfsd4: close open-deleg/unlink/rename lease
      nfsd4: break only delegations when appropriate
      nfsd: state.c should include current_stateid.h
      nfsd4: fix missing "static"
      nfsd4: preserve __user annotation on cld downcall msg
      nfsd4: int/__be32 fixes
      nfsd4: fix free_stateid return endianness
      nfsd4: fix change attribute endianness
      rpc: handle rotated gss data for Windows interoperability
      svcrpc: fix a comment typo
      nfsd4: exchange_id has a pointless copy
      nfsd4: exchange_id error cleanup
      nfsd4: exchange_id: check creds before killing confirmed client
      nfsd4: allow an EXCHANGE_ID to kill a 4.0 client
      nfsd4: exchange_id cleanup: local shorthands for repeated tests
      nfsd4: exchange_id cleanup: comments
      nfsd4: rearrange exchange_id logic to simplify
      nfsd4: allow removing clients not holding state
      nfsd4: move principal name into svc_cred
      nfsd4: stricter cred comparison for setclientid/exchange_id
      nfsd4: move rq_flavor into svc_cred
      nfsd4: setclientid remove unnecessary terms from a logical expression
      nfsd4: setclientid/confirm comment cleanup
      nfsd4: merge last two setclientid cases
      nfsd4: pull out common code from setclientid cases
      nfsd4: merge 3 setclientid cases to 2
      nfsd4: fix setclientid_confirm same_cred check
      nfsd4: fix error return in non-matching-creds case
      nfsd4: setclientid: remove pointless assignment
      nfsd4: simpler ordering of setclientid_confirm checks
      nfsd4: clarify that renewing expired client is a bug
      nfsd4: fix exchange_id to return confirm flag
      nfsd4: return "real" sequence id in confirmed case
      nfsd4: remove some dprintk's and a comment
      nfsd4: don't remove rebooted client record until confirmation
      nfsd4: fix, consolidate client_has_state

Jeff Layton (8):
      nfsd: trivial: remove unused variable from nfsd4_lock
      nfsd: don't use locks_in_grace to determine whether to call nfs4_grace_end
      nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek
      sunrpc: do array overrun check in svc_recv before allocating pages
      nfsd: consolidate set_access and set_deny
      nfsd: make test_share a bool return
      nfsd: wrap accesses to st_access_bmap
      nfsd: wrap all accesses to st_deny_bmap

Simo Sorce (2):
      svcauth: remove unused define
      SUNRPC: split upcall function to extract reusable parts

Stanislav Kinsbursky (26):
      nfsd: use passed cache_detail pointer expkey_parse()
      nfsd: add link to owner cache detail to svc_export structure
      nfsd: use cache detail pointer from svc_export structure on cache put
      nfsd: use exp_put() for svc_export_cache put
      nfsd: pass svc_export_cache pointer as private data to "exports" seq file ops
      nfsd: use hash table from cache detail in nfsd export seq ops
      nfsd: pass pointer to expkey cache down to stack wherever possible.
      NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches
      Lockd: pass network namespace to creation and destruction routines
      nfsd: pass network context to export caches init/shutdown routines
      nfsd: pass pointer to export cache down to stack wherever possible.
      nfsd: make export cache allocated per network namespace context
      nfsd: make expkey cache allocated per network namespace context
      nfsd: allocate export and expkey caches in per-net operations.
      nfsd: pass network context to idmap init/exit functions
      nfsd: make id-to-name cache allocated per network namespace context
      nfsd: make name-to-id cache allocated per network namespace context
      nfsd: allocate id-to-name and name-to-id caches in per-net operations.
      SUNRPC: new svc_bind() routine introduced
      SUNRPC: move per-net operations from svc_destroy()
      LockD: pass service to per-net up and down functions
      LockD: use existing per-net data function on service creation
      LockD: service creation function introduced
      LockD: move global usage counter manipulation from error path
      LockD: service start function introduced
      LockD: add debug message to start and stop functions

Weston Andros Adamson (2):
      nfsd: add IPv6 addr escaping to fs_location hosts
      nfsd: return 0 on reads of fault injection files

 fs/attr.c                           |    3 +
 fs/lockd/clntlock.c                 |   13 +-
 fs/lockd/svc.c                      |  148 +++++----
 fs/locks.c                          |   51 ++-
 fs/namei.c                          |   19 +-
 fs/nfs/callback.c                   |   13 +-
 fs/nfsd/auth.c                      |    2 +-
 fs/nfsd/export.c                    |  181 ++++++-----
 fs/nfsd/fault_inject.c              |    1 +
 fs/nfsd/idmap.h                     |    8 +-
 fs/nfsd/netns.h                     |    6 +
 fs/nfsd/nfs4callback.c              |    5 +-
 fs/nfsd/nfs4idmap.c                 |  113 ++++---
 fs/nfsd/nfs4proc.c                  |   36 ++-
 fs/nfsd/nfs4recover.c               |    4 +-
 fs/nfsd/nfs4state.c                 |  599 +++++++++++++++++------------------
 fs/nfsd/nfs4xdr.c                   |   62 ++--
 fs/nfsd/nfsctl.c                    |   67 ++--
 fs/nfsd/nfsfh.c                     |    2 +-
 fs/nfsd/nfssvc.c                    |   31 +-
 fs/nfsd/state.h                     |    1 -
 fs/nfsd/vfs.c                       |   33 +-
 fs/nfsd/xdr4.h                      |    9 +-
 include/linux/fs.h                  |   19 +-
 include/linux/lockd/bind.h          |    4 +-
 include/linux/nfsd/export.h         |   13 +-
 include/linux/sunrpc/svc.h          |    2 +-
 include/linux/sunrpc/svcauth.h      |   13 +-
 include/linux/sunrpc/svcauth_gss.h  |    1 -
 net/sunrpc/auth_gss/gss_krb5_wrap.c |   61 +++-
 net/sunrpc/auth_gss/svcauth_gss.c   |  127 ++++----
 net/sunrpc/rpcb_clnt.c              |   12 +-
 net/sunrpc/svc.c                    |   23 +-
 net/sunrpc/svc_xprt.c               |    4 +-
 net/sunrpc/svcauth_unix.c           |   19 +-
 35 files changed, 1009 insertions(+), 696 deletions(-)

--b.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 18:24 nfsd changes for 3.5 J. Bruce Fields
@ 2012-05-31 18:58 ` Linus Torvalds
  2012-05-31 20:01   ` J. Bruce Fields
  0 siblings, 1 reply; 8+ messages in thread
From: Linus Torvalds @ 2012-05-31 18:58 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs, linux-fsdevel, linux-kernel

On Thu, May 31, 2012 at 11:24 AM, J. Bruce Fields <bfields@fieldses.org> wrote:
>
> Sorry this is a bit late.  In fact I still have a review backlog (at a
> minimum some bugfixes), so will send a second pull later.

Quite frankly, I'm not going to pull this without lots of explanations.

The VFS-level changes have no acks or sign-offs from anybody else, and
quite frankly, if I understand them correctly they look f*cking
disgusting. If I read them right, they break delegations of a file
(which can involve long waits for clients - no?) while holding on to
the directory inode lock (both directories for cross-inode renames).
Which seems to be a singularly idiotic thing to do and sounds to me
like a fundamental design mistake.

We simply don't do these kinds of VFS changes without having
discussions and acks from people, notably Al.

As to "second pull later" - if you haven't reviewed the code already,
it's damn well much too late in the merge window to do it now.

So quite frankly, this *all* looks like 3.6 material to me, and that's
assuming you can convince people that file-delegation breaking really
should happen with all lookups on the directory the file is in blocked
by the directory inode mutex in the first place. Or tell me I'm a
moron and I misread the patches and don't know what I'm talking about.

          Linus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 18:58 ` Linus Torvalds
@ 2012-05-31 20:01   ` J. Bruce Fields
  2012-05-31 20:17     ` Linus Torvalds
  0 siblings, 1 reply; 8+ messages in thread
From: J. Bruce Fields @ 2012-05-31 20:01 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 11:58:34AM -0700, Linus Torvalds wrote:
> On Thu, May 31, 2012 at 11:24 AM, J. Bruce Fields <bfields@fieldses.org> wrote:
> >
> > Sorry this is a bit late.  In fact I still have a review backlog (at a
> > minimum some bugfixes), so will send a second pull later.
> 
> Quite frankly, I'm not going to pull this without lots of explanations.
> 
> The VFS-level changes have no acks or sign-offs from anybody else,

Sorry, yes, at best I had a verbal OK from Al (and maybe I'm wrong about
that).  I got impatient.

> and quite frankly, if I understand them correctly they look f*cking
> disgusting. If I read them right, they break delegations of a file
> (which can involve long waits for clients - no?)

Right.  By default it's 90 seconds before we'll give up on the client.

> while holding on to
> the directory inode lock (both directories for cross-inode renames).
> Which seems to be a singularly idiotic thing to do and sounds to me
> like a fundamental design mistake.

I hate that too, and originally tried to avoid it with something like:

	retry:
		acquire locks
		lookup inode
		ret = try_to_break_deleg(inode);
		if (ret)
			drop locks
			really_break_deleg(inode);
			goto retry;
		... do the real work ...
		drop locks

I felt like I was making already complicated code logic like rename's
even harder to follow.

And those operations don't really know the inode till they acquire the
locks, so in pathological cases that could continue forever.

...
> So quite frankly, this *all* looks like 3.6 material to me, and that's
> assuming you can convince people that file-delegation breaking really
> should happen with all lookups on the directory the file is in blocked
> by the directory inode mutex in the first place. Or tell me I'm a
> moron and I misread the patches and don't know what I'm talking about.

No, I think you understand correctly.

The presence of a delegation requires blocking certain operations until
a client somewhere responds (or we time out).

So the question as I understand it is whether there's a way to lessen
the impact by blocking only what we really need to.

I don't know if there's a way to do that without reworking the vfs
directory locking to be much more fine-grained.

--b.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 20:01   ` J. Bruce Fields
@ 2012-05-31 20:17     ` Linus Torvalds
  2012-05-31 20:53       ` J. Bruce Fields
  0 siblings, 1 reply; 8+ messages in thread
From: Linus Torvalds @ 2012-05-31 20:17 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 1:01 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
>
> Right.  By default it's 90 seconds before we'll give up on the client.

So a slightly buggy client can basically DoS the server by getting a
delegation and then crashing or something. Everybody else that tries
to read that directory (not that file) will be dead in the water.
Definitely not good.

> I hate that too, and originally tried to avoid it with something like:
>
>        retry:
>                acquire locks
>                lookup inode
>                ret = try_to_break_deleg(inode);
>                if (ret)
>                        drop locks
>                        really_break_deleg(inode);
>                        goto retry;
>                ... do the real work ...
>                drop locks
>
> I felt like I was making already complicated code logic like rename's
> even harder to follow.

I do think it's the only thing we can reasonably do. I'd love to have
some kind of per-dentry lock for unlink/rename, but we don't.
Long-term, we really do need to do something about the directory
locking, though, because it's also a huge problem for readdir()
concurrency. Or at least it used to be (samba in particular). Making
it an rwsem might help readdir a tiny amount, but I suspect people
actually depend on the mutex in readdir right now.

> And those operations don't really know the inode till they acquire the
> locks, so in pathological cases that could continue forever.

I suspect at some point you just have to say "screw it".

               Linus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 20:17     ` Linus Torvalds
@ 2012-05-31 20:53       ` J. Bruce Fields
  2012-05-31 22:14         ` Linus Torvalds
  0 siblings, 1 reply; 8+ messages in thread
From: J. Bruce Fields @ 2012-05-31 20:53 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 01:17:26PM -0700, Linus Torvalds wrote:
> On Thu, May 31, 2012 at 1:01 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
> >
> > Right.  By default it's 90 seconds before we'll give up on the client.
> 
> So a slightly buggy client can basically DoS the server by getting a
> delegation and then crashing or something. Everybody else that tries
> to read that directory (not that file) will be dead in the water.
> Definitely not good.
> 
> > I hate that too, and originally tried to avoid it with something like:
> >
> >        retry:
> >                acquire locks
> >                lookup inode
> >                ret = try_to_break_deleg(inode);
> >                if (ret)
> >                        drop locks
> >                        really_break_deleg(inode);
> >                        goto retry;
> >                ... do the real work ...
> >                drop locks
> >
> > I felt like I was making already complicated code logic like rename's
> > even harder to follow.
> 
> I do think it's the only thing we can reasonably do.

OK, I can give that another try.  Al, does that sound like the more
sensible choice to you?


Uh, that means ditching some work in my public git tree.  Which I
haven't rebased in years.  So, a stupid process question; would you
rather I:

	- continue to be strict about rebasing and apply a bunch of
	  reverts?
	- ditch it and start over?

#1 looks like a mess to me, so I guess #2's my default.  Probably nobody
will notice but me.

> I'd love to have
> some kind of per-dentry lock for unlink/rename, but we don't.
> Long-term, we really do need to do something about the directory
> locking, though, because it's also a huge problem for readdir()
> concurrency. Or at least it used to be (samba in particular). Making
> it an rwsem might help readdir a tiny amount, but I suspect people
> actually depend on the mutex in readdir right now.

Al called this all "highly non-trivial":

	http://marc.info/?l=linux-fsdevel&m=132726495726326&w=2

I don't know who'd have the cycles.

--b.

> 
> > And those operations don't really know the inode till they acquire the
> > locks, so in pathological cases that could continue forever.
> 
> I suspect at some point you just have to say "screw it".

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 20:53       ` J. Bruce Fields
@ 2012-05-31 22:14         ` Linus Torvalds
  2012-06-01  0:56           ` J. Bruce Fields
  0 siblings, 1 reply; 8+ messages in thread
From: Linus Torvalds @ 2012-05-31 22:14 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 1:53 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
> On Thu, May 31, 2012 at 01:17:26PM -0700, Linus Torvalds wrote:
>
> Uh, that means ditching some work in my public git tree.  Which I
> haven't rebased in years.  So, a stupid process question; would you
> rather I:
>
>        - continue to be strict about rebasing and apply a bunch of
>          reverts?
>        - ditch it and start over?

I think in this case rebasing is the right thing to do.

I hate rebasing, but what I hate about it is how people who use it as
a development model cause problems for anybody else. I don't think it
will cause problems in this particular case, but if somebody hollers,
let me know.

>>  Making
>> it an rwsem might help readdir a tiny amount, but I suspect people
>> actually depend on the mutex in readdir right now.
>
> Al called this all "highly non-trivial":
>
>        http://marc.info/?l=linux-fsdevel&m=132726495726326&w=2
>
> I don't know who'd have the cycles.

I agree, it's a rats nest.

Doing lookups in particular is ridiculously single-threaded for almost
no good reason, though (and create is just a special case of that). It
*should* be possible that push the i_mutex down into the filesystem,
if we just created some fake dentry (with the appropriate support for
lookup to stall on it) to make sure that lookups of the same *name*
are serialized.

At that point, each filesystem could decide that they don't need the
i_mutex for the whole thing.

Maybe.

And readdir() could be done mostly mechanically by changing i_mutex
into an rwsem, making all lockers use a write lock, and pushing the
locking down from the caller into the filesystem for ->readdir().
Again, at that point, I suspect many filesystems could do with much
less locking.

But yeah, it's all nasty. Even the purely mechanical part of changing
i_mutex to an rwsem would not only be a *huge* and painful patch, it
would hit things like lockdep issues too (we don't support the nesting
thing for rwsem annotations, afaik).

So nobody has really done it, and it's so painful that maybe nobody
will. There are loads that hit this serialization point, but they are
*fairly* rare and specialized.

                Linus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-05-31 22:14         ` Linus Torvalds
@ 2012-06-01  0:56           ` J. Bruce Fields
  2012-06-01 11:17             ` J. Bruce Fields
  0 siblings, 1 reply; 8+ messages in thread
From: J. Bruce Fields @ 2012-06-01  0:56 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 03:14:57PM -0700, Linus Torvalds wrote:
> On Thu, May 31, 2012 at 1:53 PM, J. Bruce Fields <bfields@fieldses.org> wrote:
> > On Thu, May 31, 2012 at 01:17:26PM -0700, Linus Torvalds wrote:
> >
> > Uh, that means ditching some work in my public git tree.  Which I
> > haven't rebased in years.  So, a stupid process question; would you
> > rather I:
> >
> >        - continue to be strict about rebasing and apply a bunch of
> >          reverts?
> >        - ditch it and start over?
> 
> I think in this case rebasing is the right thing to do.
> 
> I hate rebasing, but what I hate about it is how people who use it as
> a development model cause problems for anybody else. I don't think it
> will cause problems in this particular case, but if somebody hollers,
> let me know.

OK, will do.

For now, would you mind pulling this?:

	git://linux-nfs.org/~bfields/linux.git for-3.5-take-2

It's literally just the previous tree cut off before the delegation
stuff--so it's been in -next for a month, etc.

--b.

Jeff Layton (3):
      nfsd: trivial: remove unused variable from nfsd4_lock
      nfsd: don't use locks_in_grace to determine whether to call nfs4_grace_end
      nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek

Simo Sorce (2):
      svcauth: remove unused define
      SUNRPC: split upcall function to extract reusable parts

Stanislav Kinsbursky (18):
      nfsd: use passed cache_detail pointer expkey_parse()
      nfsd: add link to owner cache detail to svc_export structure
      nfsd: use cache detail pointer from svc_export structure on cache put
      nfsd: use exp_put() for svc_export_cache put
      nfsd: pass svc_export_cache pointer as private data to "exports" seq file ops
      nfsd: use hash table from cache detail in nfsd export seq ops
      nfsd: pass pointer to expkey cache down to stack wherever possible.
      NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches
      Lockd: pass network namespace to creation and destruction routines
      nfsd: pass network context to export caches init/shutdown routines
      nfsd: pass pointer to export cache down to stack wherever possible.
      nfsd: make export cache allocated per network namespace context
      nfsd: make expkey cache allocated per network namespace context
      nfsd: allocate export and expkey caches in per-net operations.
      nfsd: pass network context to idmap init/exit functions
      nfsd: make id-to-name cache allocated per network namespace context
      nfsd: make name-to-id cache allocated per network namespace context
      nfsd: allocate id-to-name and name-to-id caches in per-net operations.

 fs/lockd/clntlock.c               |   13 +--
 fs/lockd/svc.c                    |    7 +-
 fs/nfsd/export.c                  |  175 ++++++++++++++++++++++---------------
 fs/nfsd/idmap.h                   |    8 +-
 fs/nfsd/netns.h                   |    6 ++
 fs/nfsd/nfs4idmap.c               |  109 +++++++++++++----------
 fs/nfsd/nfs4state.c               |   13 ++-
 fs/nfsd/nfsctl.c                  |   55 ++++++++----
 fs/nfsd/nfsfh.c                   |    2 +-
 fs/nfsd/nfssvc.c                  |    8 +-
 fs/nfsd/vfs.c                     |    2 +-
 include/linux/lockd/bind.h        |    4 +-
 include/linux/nfsd/export.h       |   13 ++-
 include/linux/sunrpc/svcauth.h    |    3 +-
 net/sunrpc/auth_gss/svcauth_gss.c |  100 +++++++++++++--------
 net/sunrpc/svcauth_unix.c         |   13 +--
 16 files changed, 322 insertions(+), 209 deletions(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nfsd changes for 3.5
  2012-06-01  0:56           ` J. Bruce Fields
@ 2012-06-01 11:17             ` J. Bruce Fields
  0 siblings, 0 replies; 8+ messages in thread
From: J. Bruce Fields @ 2012-06-01 11:17 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-nfs, linux-fsdevel, linux-kernel, Al Viro

On Thu, May 31, 2012 at 08:56:03PM -0400, J. Bruce Fields wrote:
> For now, would you mind pulling this?:
> 
> 	git://linux-nfs.org/~bfields/linux.git for-3.5-take-2
> 
> It's literally just the previous tree cut off before the delegation
> stuff--so it's been in -next for a month, etc.


... and then I cherry-picked the remainder of the patches from the head
of my previous branch to:

  git://linux-nfs.org/~bfields/linux.git for-3.5

and ran some tests overnight--no surprises, as they're all quite
independent from the delegation stuff.  But if they've missed 3.5 it's
not a tragedy.

--b.

Chuck Lever (1):
      NFSD: SETCLIENTID_CONFIRM returns NFS4ERR_CLID_INUSE too often

J. Bruce Fields (34):
      nfsd: state.c should include current_stateid.h
      nfsd4: fix missing "static"
      nfsd4: preserve __user annotation on cld downcall msg
      nfsd4: int/__be32 fixes
      nfsd4: fix free_stateid return endianness
      nfsd4: fix change attribute endianness
      rpc: handle rotated gss data for Windows interoperability
      svcrpc: fix a comment typo
      nfsd4: exchange_id has a pointless copy
      nfsd4: exchange_id error cleanup
      nfsd4: exchange_id: check creds before killing confirmed client
      nfsd4: allow an EXCHANGE_ID to kill a 4.0 client
      nfsd4: exchange_id cleanup: local shorthands for repeated tests
      nfsd4: exchange_id cleanup: comments
      nfsd4: rearrange exchange_id logic to simplify
      nfsd4: allow removing clients not holding state
      nfsd4: move principal name into svc_cred
      nfsd4: stricter cred comparison for setclientid/exchange_id
      nfsd4: move rq_flavor into svc_cred
      nfsd4: setclientid remove unnecessary terms from a logical expression
      nfsd4: setclientid/confirm comment cleanup
      nfsd4: merge last two setclientid cases
      nfsd4: pull out common code from setclientid cases
      nfsd4: merge 3 setclientid cases to 2
      nfsd4: fix setclientid_confirm same_cred check
      nfsd4: fix error return in non-matching-creds case
      nfsd4: setclientid: remove pointless assignment
      nfsd4: simpler ordering of setclientid_confirm checks
      nfsd4: clarify that renewing expired client is a bug
      nfsd4: fix exchange_id to return confirm flag
      nfsd4: return "real" sequence id in confirmed case
      nfsd4: remove some dprintk's and a comment
      nfsd4: don't remove rebooted client record until confirmation
      nfsd4: fix, consolidate client_has_state

Jeff Layton (5):
      sunrpc: do array overrun check in svc_recv before allocating pages
      nfsd: consolidate set_access and set_deny
      nfsd: make test_share a bool return
      nfsd: wrap accesses to st_access_bmap
      nfsd: wrap all accesses to st_deny_bmap

Stanislav Kinsbursky (8):
      SUNRPC: new svc_bind() routine introduced
      SUNRPC: move per-net operations from svc_destroy()
      LockD: pass service to per-net up and down functions
      LockD: use existing per-net data function on service creation
      LockD: service creation function introduced
      LockD: move global usage counter manipulation from error path
      LockD: service start function introduced
      LockD: add debug message to start and stop functions

Weston Andros Adamson (2):
      nfsd: add IPv6 addr escaping to fs_location hosts
      nfsd: return 0 on reads of fault injection files

 fs/lockd/svc.c                      |  145 ++++++----
 fs/nfs/callback.c                   |   13 +-
 fs/nfsd/auth.c                      |    2 +-
 fs/nfsd/export.c                    |    8 +-
 fs/nfsd/fault_inject.c              |    1 +
 fs/nfsd/nfs4callback.c              |    5 +-
 fs/nfsd/nfs4idmap.c                 |    4 +-
 fs/nfsd/nfs4recover.c               |    4 +-
 fs/nfsd/nfs4state.c                 |  525 ++++++++++++++++-------------------
 fs/nfsd/nfs4xdr.c                   |   62 +++--
 fs/nfsd/nfsctl.c                    |   12 +-
 fs/nfsd/nfssvc.c                    |   23 ++
 fs/nfsd/state.h                     |    1 -
 fs/nfsd/xdr4.h                      |    6 +-
 include/linux/sunrpc/svc.h          |    2 +-
 include/linux/sunrpc/svcauth.h      |   10 +
 include/linux/sunrpc/svcauth_gss.h  |    1 -
 net/sunrpc/auth_gss/gss_krb5_wrap.c |   61 ++--
 net/sunrpc/auth_gss/svcauth_gss.c   |   27 +-
 net/sunrpc/rpcb_clnt.c              |   12 +-
 net/sunrpc/svc.c                    |   23 +-
 net/sunrpc/svc_xprt.c               |    4 +-
 net/sunrpc/svcauth_unix.c           |    6 +-
 23 files changed, 522 insertions(+), 435 deletions(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-06-01 11:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-31 18:24 nfsd changes for 3.5 J. Bruce Fields
2012-05-31 18:58 ` Linus Torvalds
2012-05-31 20:01   ` J. Bruce Fields
2012-05-31 20:17     ` Linus Torvalds
2012-05-31 20:53       ` J. Bruce Fields
2012-05-31 22:14         ` Linus Torvalds
2012-06-01  0:56           ` J. Bruce Fields
2012-06-01 11:17             ` J. Bruce Fields

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).