]> git.baikalelectronics.ru Git - kernel.git/commit
NFSv4: Fix an infinite looping problem with the nfs4_state_manager
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 24 Aug 2009 23:21:29 +0000 (19:21 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 24 Aug 2009 23:28:42 +0000 (16:28 -0700)
commit296637ff302f5b234b1e4a12973cc0a8b19e14db
treea21d3fbdf710b8a5ecfede32b822368fea2cad40
parent37ef393d0680dd46c17c58c394875b04a589d981
NFSv4: Fix an infinite looping problem with the nfs4_state_manager

Commit 89f4ce9cbd33995e0c449609eb3905a627061ab1 (nfs41: add session setup
to the state manager) introduces an infinite loop possibility in the NFSv4
state manager. By first checking nfs4_has_session() before clearing the
NFS4CLNT_SESSION_SETUP flag, it allows for a situation where someone sets
that flag, but it never gets cleared, and so the state manager loops.

In fact commit f44eb3ab41aa1f663dddf5a71007a82533754f29 (nfs41: add session
reset to state manager) causes this to happen every time we get a network
partition error.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/nfs/nfs4state.c