]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC: r207082
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 29 Apr 2010 23:48:09 +0000 (23:48 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 29 Apr 2010 23:48:09 +0000 (23:48 +0000)
commit6b901df8e5414dd3ae83c5cba1e8d06df4fab312
tree8a94ffb07001b397845bae47e5b4a40681c820b1
parent07d3814fc257332d27e76c9f701c8bd80408f746
MFC: r207082
When the experimental NFS client is handling an NFSv4 server reboot
with delegations enabled, the recovery could fail if the renew
thread is trying to return a delegation, since it will not do the
recovery. This patch fixes the above by having nfscl_recalldeleg()
fail with the I/O operations returning EIO, so that they will be
attempted later. Most of the patch consists of adding an argument
to various functions to indicate the delegation recall case where
this needs to be done.

git-svn-id: svn://svn.freebsd.org/base/stable/8@207406 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfs/nfs_var.h
sys/fs/nfsclient/nfs.h
sys/fs/nfsclient/nfs_clbio.c
sys/fs/nfsclient/nfs_clnfsiod.c
sys/fs/nfsclient/nfs_clnode.c
sys/fs/nfsclient/nfs_clrpcops.c
sys/fs/nfsclient/nfs_clstate.c
sys/fs/nfsclient/nfs_clvnops.c