mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
Orangefs: sooth most sparse complaints
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
2c590d5fb6
commit
84d02150de
@ -857,7 +857,7 @@ static unsigned long translate_dev_map26(unsigned long args, long *error)
|
||||
*/
|
||||
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 */
|
||||
|
@ -799,7 +799,7 @@ out:
|
||||
/*
|
||||
* 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 @@ static int pvfs2_file_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
*
|
||||
* \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 @@ int pvfs2_file_release(struct inode *inode, struct file *file)
|
||||
/*
|
||||
* 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 @@ int pvfs2_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
||||
* 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 @@ loff_t pvfs2_file_llseek(struct file *file, loff_t offset, int origin)
|
||||
* 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;
|
||||
|
||||
|
@ -33,7 +33,7 @@ static int read_one_page(struct page *page)
|
||||
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);
|
||||
|
@ -341,7 +341,7 @@ __s32 PINT_non_errno_mapping[] = { \
|
||||
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 @@ __s32 PVFS_get_errno_mapping(__s32 error) \
|
||||
} \
|
||||
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 */
|
||||
|
@ -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 pvfs_bufmap_copy_iovec_from_kernel(struct pvfs2_bufmap *bufmap,
|
||||
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 @@ int pvfs_bufmap_copy_iovec_from_kernel(struct pvfs2_bufmap *bufmap,
|
||||
* 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 pvfs_bufmap_copy_to_kernel_iovec(struct pvfs2_bufmap *bufmap,
|
||||
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 @@ int pvfs_bufmap_copy_to_kernel_iovec(struct pvfs2_bufmap *bufmap,
|
||||
* 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);
|
||||
|
@ -70,7 +70,7 @@ static const struct seq_operations help_debug_ops = {
|
||||
* 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 *);
|
||||
|
||||
|
@ -608,7 +608,7 @@ struct inode *pvfs2_iget(struct super_block *sb,
|
||||
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);
|
||||
|
@ -47,7 +47,6 @@ struct client_debug_mask client_debug_mask = { NULL, 0, 0 };
|
||||
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");
|
||||
|
@ -750,7 +750,7 @@ out:
|
||||
/*
|
||||
* 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 @@ static ssize_t
|
||||
* 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;
|
||||
|
@ -269,7 +269,7 @@ static void pvfs2_dirty_inode(struct inode *inode, int flags)
|
||||
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 @@ struct super_operations pvfs2_s_ops = {
|
||||
.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 @@ struct dentry *pvfs2_fh_to_dentry(struct super_block *sb,
|
||||
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 @@ static struct export_operations pvfs2_export_ops = {
|
||||
.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;
|
||||
|
@ -314,6 +314,13 @@ void pvfs2_clean_up_interrupted_operation(struct pvfs2_kernel_op_s *op)
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user