]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Orangefs: kernel client update 1.
authorMike Marshall <hubcap@omnibond.com>
Fri, 24 Jul 2015 14:37:15 +0000 (10:37 -0400)
committerMike Marshall <hubcap@omnibond.com>
Sat, 3 Oct 2015 15:40:01 +0000 (11:40 -0400)
Stephen Rothwell noticed that orangefs would not compile
on powerpc...

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/devpvfs2-req.c
fs/orangefs/protocol.h

index 3e450228f3dc9b3bdc0c929bd7083b48b6136e99..7e60fd047f285591ab48224a581ff7e409ad4453 100644 (file)
@@ -36,7 +36,7 @@ do {                                                                          \
 
 static int hash_func(__u64 tag, int table_size)
 {
-       return tag % ((unsigned int)table_size);
+       return do_div(tag, (unsigned int)table_size);
 }
 
 static void pvfs2_devreq_add_op(struct pvfs2_kernel_op_s *op)
@@ -279,7 +279,7 @@ static ssize_t pvfs2_devreq_writev(struct file *file,
 
        /* Either there is a trailer or there isn't */
        if (count != notrailer_count && count != (notrailer_count + 1)) {
-               gossip_err("Error: Number of iov vectors is (%ld) and notrailer count is %d\n",
+               gossip_err("Error: Number of iov vectors is (%zu) and notrailer count is %d\n",
                        count,
                        notrailer_count);
                return -EPROTO;
@@ -356,7 +356,7 @@ static ssize_t pvfs2_devreq_writev(struct file *file,
                                     "writev: trailer size %ld\n",
                                     (unsigned long)op->downcall.trailer_size);
                        if (count != (notrailer_count + 1)) {
-                               gossip_err("Error: trailer size (%ld) is non-zero, no trailer elements though? (%ld)\n", (unsigned long)op->downcall.trailer_size, count);
+                               gossip_err("Error: trailer size (%ld) is non-zero, no trailer elements though? (%zu)\n", (unsigned long)op->downcall.trailer_size, count);
                                dev_req_release(buffer);
                                put_op(op);
                                return -EPROTO;
@@ -908,6 +908,14 @@ static long pvfs2_devreq_compat_ioctl(struct file *filp, unsigned int cmd,
        return dispatch_ioctl_command(cmd, arg);
 }
 
+#endif /* CONFIG_COMPAT is in .config */
+
+/*
+ * The following two ioctl32 functions had been refactored into the above
+ * CONFIG_COMPAT ifdef, but that was an over simplification that was
+ * not noticed until we tried to compile on power pc...
+ */
+#if (defined(CONFIG_COMPAT) && !defined(HAVE_REGISTER_IOCTL32_CONVERSION)) || !defined(CONFIG_COMPAT)
 static int pvfs2_ioctl32_init(void)
 {
        return 0;
@@ -917,8 +925,7 @@ static void pvfs2_ioctl32_cleanup(void)
 {
        return;
 }
-
-#endif /* CONFIG_COMPAT is in .config */
+#endif
 
 /* the assigned character device major number */
 static int pvfs2_dev_major;
index 2fb3a63ae9ab719be34b2506aca44ea05432bed9..8e0c8a6158f77bbf85d5e815331d15b2b7dab41f 100644 (file)
@@ -1,6 +1,7 @@
 #include <linux/spinlock_types.h>
 #include <linux/types.h>
 #include <linux/slab.h>
+#include <linux/ioctl.h>
 
 extern struct client_debug_mask *cdm_array;
 extern char *debug_help_string;