[PATCH] nfsd4: fix fh_expire_type
NeilBrown [Fri, 8 Jul 2005 00:59:30 +0000 (17:59 -0700)]
After discussion at the recent NFSv4 bake-a-thon, I realized that my
assumption that NFS4_FH_PERSISTENT required filehandles to persist was a
misreading of the spec.  This also fixes an interoperability problem with the
Solaris client.

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

index 1515c5b..4c41463 100644 (file)
@@ -1366,9 +1366,9 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
                if ((buflen -= 4) < 0)
                        goto out_resource;
                if (exp->ex_flags & NFSEXP_NOSUBTREECHECK)
-                       WRITE32(NFS4_FH_VOLATILE_ANY);
+                       WRITE32(NFS4_FH_PERSISTENT);
                else
-                       WRITE32(NFS4_FH_VOLATILE_ANY|NFS4_FH_VOL_RENAME);
+                       WRITE32(NFS4_FH_PERSISTENT|NFS4_FH_VOL_RENAME);
        }
        if (bmval0 & FATTR4_WORD0_CHANGE) {
                /*