[PATCH] knfsd: fixing missing 'expkey' support for fsid type 3
authorFrank Filz <[email protected]>
Fri, 30 Jun 2006 08:56:11 +0000 (01:56 -0700)
committerLinus Torvalds <[email protected]>
Fri, 30 Jun 2006 18:25:39 +0000 (11:25 -0700)
Type '3' is used for the fsid in filehandles when the device number of the
device holding the filesystem has more than 8 bits in either major or minor.
Unfortunately expkey_parse doesn't recognise type 3.  Fix this.

(Slighty modified from Frank's original)

Signed-off-by: Frank Filz <[email protected]>
Signed-off-by: Neil Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
fs/nfsd/export.c

index 3eec30000f3fb3955e029283e8a26bee184b66ba..01bc68c628ad16b92f84ce183e9cf908e09511c3 100644 (file)
@@ -126,7 +126,7 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
        if (*ep)
                goto out;
        dprintk("found fsidtype %d\n", fsidtype);
-       if (fsidtype > 2)
+       if (key_len(fsidtype)==0) /* invalid type */
                goto out;
        if ((len=qword_get(&mesg, buf, PAGE_SIZE)) <= 0)
                goto out;