[PATCH] nfsd4: fix fh_expire_type
authorNeilBrown <neilb@cse.unsw.edu.au>
Fri, 24 Jun 2005 05:02:58 +0000 (22:02 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 24 Jun 2005 07:06:28 +0000 (00:06 -0700)
commit496400014f22c4dbdbc1e89249a2feba46939708
tree1d05116cef2e6ecfeef9fab0a733a9f2cf2a18e3
parent0dd3c19212961453817f219cd6200981c38564bc
[PATCH] nfsd4: fix fh_expire_type

We're returning NFS4_FH_NOEXPIRE_WITH_OPEN | NFS4_FH_VOL_RENAME for the
fh_expire_type attribute.  This is incorrect:
1. The spec actually only allows NOEXPIRE_WITH_OPEN when
   VOLATILE_ANY is also set.
2. Filehandles for open files can expire, if the file is removed
   and there is a reboot.
3. Filehandles are only volatile on rename in the nosubtree check
   case.

Unfortunately, there's no way to indicate that we only expire on remove.  So
our only choice is FH4_VOLATILE_ANY.  Although it's redundant, we also set
FH4_VOL_RENAME in the subtree check case, since subtreecheck does actually
cause problems in practice and it seems possibly useful to give clients some
way to distinguish that case.

Fix a mispelled #define while we're at it.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfsd/nfs4xdr.c
include/linux/nfs4.h