]> bbs.cooldavid.org Git - net-next-2.6.git/commit
nfsd4: make backchannel sequence number per-session
authorJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 14 Jun 2010 23:01:57 +0000 (19:01 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 21 Oct 2010 14:11:51 +0000 (10:11 -0400)
commitac7c46f29a44f6d7f6d2e36dc874c0b7056acad2
tree8349c56fbb67cb456fea62fee6ef29df20d6f87b
parent90c8145bb6fe1d9e0a808de6a701748967588bbd
nfsd4: make backchannel sequence number per-session

Currently we don't deal well with a client that has multiple sessions
associated with it (even simultaneously, or serially over the lifetime
of the client).

In particular, we don't attempt to keep the backchannel running after
the original session diseappears.

We will fix that soon.

Once we do that, we need the slot sequence number to be per-session;
otherwise, for example, we cannot correctly handle a case like this:

- All session 1 connections are lost.
- The client creates session 2.  We use it for the backchannel
  (since it's the only working choice).
- The client gives us a new connection to use with session 1.
- The client destroys session 2.

At this point our only choice is to go back to using session 1.  When we
do so we must use the sequence number that is next for session 1.  We
therefore need to maintain multiple sequence number streams.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4callback.c
fs/nfsd/nfs4state.c
fs/nfsd/state.h