diff options
Diffstat (limited to 'fs/nfsd/nfs4idmap.c')
| -rw-r--r-- | fs/nfsd/nfs4idmap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c index 2ccffde81b84..4c0c683ce07a 100644 --- a/fs/nfsd/nfs4idmap.c +++ b/fs/nfsd/nfs4idmap.c | |||
| @@ -207,6 +207,7 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen) | |||
| 207 | { | 207 | { |
| 208 | struct ent ent, *res; | 208 | struct ent ent, *res; |
| 209 | char *buf1, *bp; | 209 | char *buf1, *bp; |
| 210 | int len; | ||
| 210 | int error = -EINVAL; | 211 | int error = -EINVAL; |
| 211 | 212 | ||
| 212 | if (buf[buflen - 1] != '\n') | 213 | if (buf[buflen - 1] != '\n') |
| @@ -248,10 +249,11 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen) | |||
| 248 | goto out; | 249 | goto out; |
| 249 | 250 | ||
| 250 | /* Name */ | 251 | /* Name */ |
| 251 | error = qword_get(&buf, buf1, PAGE_SIZE); | 252 | error = -EINVAL; |
| 252 | if (error == -EINVAL) | 253 | len = qword_get(&buf, buf1, PAGE_SIZE); |
| 254 | if (len < 0) | ||
| 253 | goto out; | 255 | goto out; |
| 254 | if (error == -ENOENT) | 256 | if (len == 0) |
| 255 | set_bit(CACHE_NEGATIVE, &ent.h.flags); | 257 | set_bit(CACHE_NEGATIVE, &ent.h.flags); |
| 256 | else { | 258 | else { |
| 257 | if (error >= IDMAP_NAMESZ) { | 259 | if (error >= IDMAP_NAMESZ) { |
