diff mbox

[V3,8/7] Orangefs: kernel client update 1.

Message ID 1437764988-1857-1-git-send-email-root@logtruck.clemson.edu (mailing list archive)
State New, archived
Headers show

Commit Message

Mike Marshall July 24, 2015, 7:09 p.m. UTC
From: Mike Marshall <hubcap@omnibond.com>

Stephen Rothwell noticed that orangefs would not compile
on powerpc...

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
---
 fs/orangefs/devpvfs2-req.c | 17 ++++++++++++-----
 fs/orangefs/protocol.h     |  1 +
 2 files changed, 13 insertions(+), 5 deletions(-)

--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/orangefs/devpvfs2-req.c b/fs/orangefs/devpvfs2-req.c
index 3e45022..7e60fd0 100644
--- a/fs/orangefs/devpvfs2-req.c
+++ b/fs/orangefs/devpvfs2-req.c
@@ -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;
diff --git a/fs/orangefs/protocol.h b/fs/orangefs/protocol.h
index 2fb3a63..8e0c8a6 100644
--- a/fs/orangefs/protocol.h
+++ b/fs/orangefs/protocol.h
@@ -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;