diff options
author | J. Bruce Fields <bfields@redhat.com> | 2012-06-12 16:54:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-17 13:14:21 -0800 |
commit | 110d3a25cc089af6a8b7ddee3f01e65aeb55ae49 (patch) | |
tree | 5f524e4275c8a63fb5ad9c90d40cc50010b657ba /include | |
parent | f354d0c0ca37522c2efcced954ade7cdca479a98 (diff) | |
download | lwn-110d3a25cc089af6a8b7ddee3f01e65aeb55ae49.tar.gz lwn-110d3a25cc089af6a8b7ddee3f01e65aeb55ae49.zip |
nfsd: add get_uint for u32's
commit a007c4c3e943ecc054a806c259d95420a188754b upstream.
I don't think there's a practical difference for the range of values
these interfaces should see, but it would be safer to be unambiguous.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sunrpc/cache.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h index 8d2eef1a8582..28c3be3edc3e 100644 --- a/include/linux/sunrpc/cache.h +++ b/include/linux/sunrpc/cache.h @@ -224,6 +224,22 @@ static inline int get_int(char **bpp, int *anint) return 0; } +static inline int get_uint(char **bpp, unsigned int *anint) +{ + char buf[50]; + int len = qword_get(bpp, buf, sizeof(buf)); + + if (len < 0) + return -EINVAL; + if (len == 0) + return -ENOENT; + + if (kstrtouint(buf, 0, anint)) + return -EINVAL; + + return 0; +} + /* * timestamps kept in the cache are expressed in seconds * since boot. This is the best for measuring differences in |