• NeilBrown's avatar
    [PATCH] nfsd4: fix fh_expire_type · 49640001
    NeilBrown authored
    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: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    49640001
nfs4xdr.c 61.9 KB