summaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/cache.h
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-06-12 16:54:16 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-07-25 09:18:27 -0400
commita007c4c3e943ecc054a806c259d95420a188754b (patch)
tree5eb56435a616d0fb31d31a7ce7fe8ff0c241c33d /include/linux/sunrpc/cache.h
parenta6d88f293ecd1b7444e128777f4a893e7a998852 (diff)
downloadlinux-a007c4c3e943ecc054a806c259d95420a188754b.tar.gz
linux-a007c4c3e943ecc054a806c259d95420a188754b.tar.bz2
linux-a007c4c3e943ecc054a806c259d95420a188754b.zip
nfsd: add get_uint for u32's
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>
Diffstat (limited to 'include/linux/sunrpc/cache.h')
-rw-r--r--include/linux/sunrpc/cache.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h
index af42596a82f9..f792794f6634 100644
--- a/include/linux/sunrpc/cache.h
+++ b/include/linux/sunrpc/cache.h
@@ -230,6 +230,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