]> git.baikalelectronics.ru Git - kernel.git/commit
NFSv4: Fix a regression in the NFSv4 state manager
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 15 Dec 2009 22:36:57 +0000 (17:36 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 15 Dec 2009 22:36:57 +0000 (17:36 -0500)
commit90af37f63d7250f06821eb6401cc37c0232c172e
treeb7a7afdb59c0421f371c7242c170982153a76835
parentc20170ad2bad3bda7ef98f924b333dc738842740
NFSv4: Fix a regression in the NFSv4 state manager

Commit b6456bb0a19f3fdb3afd7ddcc312d255d3dfea03 (nfs: run state manager
in privileged mode) introduces a regression in the NFSv4 code when
compiled with CONFIG_NFS_V4_1. The calls to nfs4_end_drain_session()
from the main loop in nfs4_state_manager() Oops due to the lack of an
NFSv4.1 session when running NFSv4.0.

The fix is to move those two calls back into nfs41_init_clientid() and
nfs4_reset_session().

The calls to nfs4_end_drain_session() that remain inside
nfs4_state_manager() are safe, since the NFSv4.0 code will never set the
NFS4CLNT_SESSION_DRAINING bit.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4state.c