Orangefs: sooth most sparse complaints

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
diff --git a/fs/orangefs/devpvfs2-req.c b/fs/orangefs/devpvfs2-req.c
index 7e60fd0..13878ca 100644
--- a/fs/orangefs/devpvfs2-req.c
+++ b/fs/orangefs/devpvfs2-req.c
@@ -857,7 +857,7 @@
 	 */
 	struct PVFS_dev_map_desc __user *p =
 	    compat_alloc_user_space(sizeof(*p));
-	u32 addr;
+	compat_uptr_t addr;
 
 	*error = 0;
 	/* get the ptr from the 32 bit user-space */
diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c
index 8e26f9f..4ba1b6c 100644
--- a/fs/orangefs/file.c
+++ b/fs/orangefs/file.c
@@ -799,7 +799,7 @@
 /*
  * Perform a miscellaneous operation on a file.
  */
-long pvfs2_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+static long pvfs2_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 {
 	int ret = -ENOTTY;
 	__u64 val = 0;
@@ -885,7 +885,7 @@
  *
  * \note Not called when each file is closed.
  */
-int pvfs2_file_release(struct inode *inode, struct file *file)
+static int pvfs2_file_release(struct inode *inode, struct file *file)
 {
 	gossip_debug(GOSSIP_FILE_DEBUG,
 		     "pvfs2_file_release: called on %s\n",
@@ -909,7 +909,10 @@
 /*
  * Push all data for a specific file onto permanent storage.
  */
-int pvfs2_fsync(struct file *file, loff_t start, loff_t end, int datasync)
+static int pvfs2_fsync(struct file *file,
+		       loff_t start,
+		       loff_t end,
+		       int datasync)
 {
 	int ret = -EINVAL;
 	struct pvfs2_inode_s *pvfs2_inode =
@@ -947,7 +950,7 @@
  * Future upgrade could support SEEK_DATA and SEEK_HOLE but would
  * require much changes to the FS
  */
-loff_t pvfs2_file_llseek(struct file *file, loff_t offset, int origin)
+static loff_t pvfs2_file_llseek(struct file *file, loff_t offset, int origin)
 {
 	int ret = -EINVAL;
 	struct inode *inode = file->f_path.dentry->d_inode;
@@ -989,7 +992,7 @@
  * Support local locks (locks that only this kernel knows about)
  * if Orangefs was mounted -o local_lock.
  */
-int pvfs2_lock(struct file *filp, int cmd, struct file_lock *fl)
+static int pvfs2_lock(struct file *filp, int cmd, struct file_lock *fl)
 {
 	int rc = -ENOLCK;
 
diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c
index feda00f..9ff6b29 100644
--- a/fs/orangefs/inode.c
+++ b/fs/orangefs/inode.c
@@ -33,7 +33,7 @@
 		loff_t blockptr_offset = (((loff_t) page->index) << blockbits);
 
 		bytes_read = pvfs2_inode_read(inode,
-					      page_data,
+					      (char __user *) page_data,
 					      blocksize,
 					      &blockptr_offset,
 					      inode->i_size);
diff --git a/fs/orangefs/protocol.h b/fs/orangefs/protocol.h
index 8e0c8a6..ca7cef9 100644
--- a/fs/orangefs/protocol.h
+++ b/fs/orangefs/protocol.h
@@ -341,7 +341,7 @@
 extern __s32 PINT_errno_mapping[];					\
 extern __s32 PINT_non_errno_mapping[];				\
 extern const char *PINT_non_errno_strerror_mapping[];			\
-__s32 PVFS_get_errno_mapping(__s32 error)			\
+static __s32 PVFS_get_errno_mapping(__s32 error)			\
 {									\
 	__s32 ret = error, mask = 0;				\
 	__s32 positive = ((error > -1) ? 1 : 0);			\
@@ -364,16 +364,6 @@
 	}								\
 	return ret;							\
 }									\
-__s32 PVFS_errno_to_error(int err)					\
-{									\
-	__s32 e = 0;						\
-									\
-	for (; e < PVFS_ERRNO_MAX; ++e)					\
-		if (PINT_errno_mapping[e] == err)			\
-			return e | PVFS_ERROR_BIT;			\
-									\
-	return err;							\
-}									\
 DECLARE_ERRNO_MAPPING()
 
 /* permission bits */
diff --git a/fs/orangefs/pvfs2-bufmap.c b/fs/orangefs/pvfs2-bufmap.c
index aa14c37..a439163 100644
--- a/fs/orangefs/pvfs2-bufmap.c
+++ b/fs/orangefs/pvfs2-bufmap.c
@@ -9,7 +9,7 @@
 
 DECLARE_WAIT_QUEUE_HEAD(pvfs2_bufmap_init_waitq);
 
-struct pvfs2_bufmap {
+static struct pvfs2_bufmap {
 	atomic_t refcnt;
 
 	int desc_size;
@@ -663,6 +663,7 @@
 	int to_page_index = 0;
 	void *to_kaddr = NULL;
 	void *from_kaddr = NULL;
+	struct kvec *iv = NULL;
 	struct iovec *copied_iovec = NULL;
 	struct pvfs_bufmap_desc *to;
 	unsigned int seg;
@@ -708,9 +709,10 @@
 	 * buffer into the mapped buffer one page at a time though
 	 */
 	while (amt_copied < size) {
-		struct iovec *iv = &copied_iovec[seg];
 		int inc_to_page_index;
 
+		iv = (struct kvec *) &copied_iovec[seg];
+
 		if (iv->iov_len < (PAGE_SIZE - to_page_offset)) {
 			cur_copy_size =
 			    PVFS_util_min(iv->iov_len, size - amt_copied);
@@ -885,6 +887,7 @@
 	int from_page_index = 0;
 	void *from_kaddr = NULL;
 	void *to_kaddr = NULL;
+	struct kvec *iv;
 	struct iovec *copied_iovec = NULL;
 	struct pvfs_bufmap_desc *from;
 	unsigned int seg;
@@ -930,9 +933,10 @@
 	 * but make sure that we do so one page at a time.
 	 */
 	while (amt_copied < size) {
-		struct iovec *iv = &copied_iovec[seg];
 		int inc_from_page_index;
 
+		iv = (struct kvec *) &copied_iovec[seg];
+
 		if (iv->iov_len < (PAGE_SIZE - from_page_offset)) {
 			cur_copy_size =
 			    PVFS_util_min(iv->iov_len, size - amt_copied);
diff --git a/fs/orangefs/pvfs2-debugfs.c b/fs/orangefs/pvfs2-debugfs.c
index 8d118da..ba5bfef 100644
--- a/fs/orangefs/pvfs2-debugfs.c
+++ b/fs/orangefs/pvfs2-debugfs.c
@@ -70,7 +70,7 @@
  * Used to protect data in ORANGEFS_KMOD_DEBUG_FILE and
  * ORANGEFS_KMOD_DEBUG_FILE.
  */
-DEFINE_MUTEX(orangefs_debug_lock);
+static DEFINE_MUTEX(orangefs_debug_lock);
 
 int orangefs_debug_open(struct inode *, struct file *);
 
diff --git a/fs/orangefs/pvfs2-kernel.h b/fs/orangefs/pvfs2-kernel.h
index 6c787c4..be30111 100644
--- a/fs/orangefs/pvfs2-kernel.h
+++ b/fs/orangefs/pvfs2-kernel.h
@@ -608,7 +608,7 @@
 			 struct pvfs2_object_kref *ref);
 
 ssize_t pvfs2_inode_read(struct inode *inode,
-			 char *buf,
+			 char __user *buf,
 			 size_t count,
 			 loff_t *offset,
 			 loff_t readahead_size);
diff --git a/fs/orangefs/pvfs2-mod.c b/fs/orangefs/pvfs2-mod.c
index 9cbc992..69289c5 100644
--- a/fs/orangefs/pvfs2-mod.c
+++ b/fs/orangefs/pvfs2-mod.c
@@ -47,7 +47,6 @@
 unsigned int kernel_mask_set_mod_init; /* implicitly false */
 int op_timeout_secs = PVFS2_DEFAULT_OP_TIMEOUT_SECS;
 int slot_timeout_secs = PVFS2_DEFAULT_SLOT_TIMEOUT_SECS;
-__u32 DEBUG_LINE = 50;
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("PVFS2 Development Team");
diff --git a/fs/orangefs/pvfs2-sysfs.c b/fs/orangefs/pvfs2-sysfs.c
index 6d0e18b..ea635b5 100644
--- a/fs/orangefs/pvfs2-sysfs.c
+++ b/fs/orangefs/pvfs2-sysfs.c
@@ -750,7 +750,7 @@
 /*
  * obtain attribute values from userspace with a service operation.
  */
-int sysfs_service_op_show(char *kobj_id, char *buf, void *attr)
+static int sysfs_service_op_show(char *kobj_id, char *buf, void *attr)
 {
 	struct pvfs2_kernel_op_s *new_op = NULL;
 	int rc = 0;
@@ -1023,7 +1023,7 @@
  * We want to return 1 if we think everything went OK, and
  * EINVAL if not.
  */
-int sysfs_service_op_store(char *kobj_id, const char *buf, void *attr)
+static int sysfs_service_op_store(char *kobj_id, const char *buf, void *attr)
 {
 	struct pvfs2_kernel_op_s *new_op = NULL;
 	int val = 0;
diff --git a/fs/orangefs/super.c b/fs/orangefs/super.c
index a854390..90c7a1c 100644
--- a/fs/orangefs/super.c
+++ b/fs/orangefs/super.c
@@ -269,7 +269,7 @@
 	SetAtimeFlag(pvfs2_inode);
 }
 
-struct super_operations pvfs2_s_ops = {
+static const struct super_operations pvfs2_s_ops = {
 	.alloc_inode = pvfs2_alloc_inode,
 	.destroy_inode = pvfs2_destroy_inode,
 	.dirty_inode = pvfs2_dirty_inode,
@@ -279,7 +279,7 @@
 	.show_options = generic_show_options,
 };
 
-struct dentry *pvfs2_fh_to_dentry(struct super_block *sb,
+static struct dentry *pvfs2_fh_to_dentry(struct super_block *sb,
 				  struct fid *fid,
 				  int fh_len,
 				  int fh_type)
@@ -299,7 +299,7 @@
 	return d_obtain_alias(pvfs2_iget(sb, &refn));
 }
 
-int pvfs2_encode_fh(struct inode *inode,
+static int pvfs2_encode_fh(struct inode *inode,
 		    __u32 *fh,
 		    int *max_len,
 		    struct inode *parent)
@@ -347,7 +347,7 @@
 	.fh_to_dentry = pvfs2_fh_to_dentry,
 };
 
-int pvfs2_fill_sb(struct super_block *sb, void *data, int silent)
+static int pvfs2_fill_sb(struct super_block *sb, void *data, int silent)
 {
 	int ret = -EINVAL;
 	struct inode *root = NULL;
diff --git a/fs/orangefs/waitqueue.c b/fs/orangefs/waitqueue.c
index 9b32286..ad79e53 100644
--- a/fs/orangefs/waitqueue.c
+++ b/fs/orangefs/waitqueue.c
@@ -314,6 +314,13 @@
 		spin_unlock(&op->lock);
 		gossip_err("interrupted operation is in a weird state 0x%x\n",
 			   op->op_state);
+	} else {
+		/*
+		 * It is not intended for execution to flow here,
+		 * but having this unlock here makes sparse happy.
+		 */
+		gossip_err("%s: can't get here.\n", __func__);
+		spin_unlock(&op->lock);
 	}
 }