summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfs/nfsclstate.h
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2010-04-18 22:21:23 +0000
committerrmacklem <rmacklem@FreeBSD.org>2010-04-18 22:21:23 +0000
commit2c6900a254f8747c55019ef3c5fff96917c31b48 (patch)
treee6187984cb8740a17c6f0049fdf2d86e13f859c9 /sys/fs/nfs/nfsclstate.h
parent1027d9c280dc27be53239935154e6717b26312c1 (diff)
downloadFreeBSD-src-2c6900a254f8747c55019ef3c5fff96917c31b48.zip
FreeBSD-src-2c6900a254f8747c55019ef3c5fff96917c31b48.tar.gz
Avoid extraneous recovery cycles in the experimental NFS client
when an NFSv4 server reboots, by doing two things. 1 - Make the function that acquires a stateid for I/O operations block until recovery is complete, so that it doesn't acquire out of date stateids. 2 - Only allow a recovery once every 1/2 of a lease duration, since the NFSv4 server must provide a recovery grace period of at least a lease duration. This should avoid recoveries caused by an out of date stateid that was acquired for an I/O op. just before a recovery cycle started. MFC after: 1 week
Diffstat (limited to 'sys/fs/nfs/nfsclstate.h')
-rw-r--r--sys/fs/nfs/nfsclstate.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/fs/nfs/nfsclstate.h b/sys/fs/nfs/nfsclstate.h
index edd479c..72d8eeb 100644
--- a/sys/fs/nfs/nfsclstate.h
+++ b/sys/fs/nfs/nfsclstate.h
@@ -74,6 +74,7 @@ struct nfsclclient {
#define NFSCLFLAGS_EXPIREIT 0x0040
#define NFSCLFLAGS_FIRSTDELEG 0x0080
#define NFSCLFLAGS_GOTDELEG 0x0100
+#define NFSCLFLAGS_RECVRINPROG 0x0200
struct nfsclowner {
LIST_ENTRY(nfsclowner) nfsow_list;
OpenPOWER on IntegriCloud