Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
54804949
Commit
54804949
authored
Oct 05, 2015
by
Mike Marshall
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Orangefs: fix some checkpatch.pl complaints that had creeped in.
Signed-off-by:
Mike Marshall
<
hubcap@omnibond.com
>
parent
894ac432
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
111 additions
and
102 deletions
+111
-102
fs/orangefs/devpvfs2-req.c
fs/orangefs/devpvfs2-req.c
+3
-3
fs/orangefs/dir.c
fs/orangefs/dir.c
+1
-1
fs/orangefs/downcall.h
fs/orangefs/downcall.h
+1
-1
fs/orangefs/file.c
fs/orangefs/file.c
+12
-13
fs/orangefs/inode.c
fs/orangefs/inode.c
+12
-12
fs/orangefs/protocol.h
fs/orangefs/protocol.h
+17
-15
fs/orangefs/pvfs2-bufmap.c
fs/orangefs/pvfs2-bufmap.c
+5
-5
fs/orangefs/pvfs2-debug.h
fs/orangefs/pvfs2-debug.h
+4
-2
fs/orangefs/pvfs2-kernel.h
fs/orangefs/pvfs2-kernel.h
+3
-6
fs/orangefs/pvfs2-mod.c
fs/orangefs/pvfs2-mod.c
+5
-5
fs/orangefs/pvfs2-utils.c
fs/orangefs/pvfs2-utils.c
+48
-39
No files found.
fs/orangefs/devpvfs2-req.c
View file @
54804949
...
...
@@ -476,9 +476,9 @@ static ssize_t pvfs2_devreq_writev(struct file *file,
set_op_state_serviced
(
op
);
spin_unlock
(
&
op
->
lock
);
/*
for every other operation (i.e. non-I/O), we need to
wake up the callers for downcall completion
notification
*
for every other operation (i.e. non-I/O), we need to
*
wake up the callers for downcall completion
*
notification
*/
wake_up_interruptible
(
&
op
->
waitq
);
}
...
...
fs/orangefs/dir.c
View file @
54804949
...
...
@@ -289,7 +289,7 @@ static int pvfs2_readdir(struct file *file, struct dir_context *ctx)
}
/*
/*
* we ran all the way through the last batch, set up for
* getting another batch...
*/
...
...
fs/orangefs/downcall.h
View file @
54804949
...
...
@@ -107,7 +107,7 @@ struct pvfs2_downcall_s {
__s32
status
;
/* currently trailer is used only by readdir */
__s64
trailer_size
;
char
*
trailer_buf
;
char
*
trailer_buf
;
union
{
struct
pvfs2_io_response
io
;
...
...
fs/orangefs/file.c
View file @
54804949
...
...
@@ -54,7 +54,6 @@ static int precopy_buffers(struct pvfs2_bufmap *bufmap,
gossip_err
(
"%s: Failed to copy-in buffers. Please make sure that the pvfs2-client is running. %ld
\n
"
,
__func__
,
(
long
)
ret
);
}
if
(
ret
<
0
)
...
...
@@ -199,9 +198,9 @@ static ssize_t wait_for_direct_io(enum PVFS_io_type type, struct inode *inode,
if
(
ret
<
0
)
{
handle_io_error
();
/* defined in pvfs2-kernel.h */
/*
don't write an error to syslog on signaled operation
termination unless we've got debugging turned on, as
this can happen regularly (i.e. ctrl-c)
*
don't write an error to syslog on signaled operation
*
termination unless we've got debugging turned on, as
*
this can happen regularly (i.e. ctrl-c)
*/
if
(
ret
==
-
EINTR
)
gossip_debug
(
GOSSIP_FILE_DEBUG
,
...
...
@@ -245,10 +244,10 @@ static ssize_t wait_for_direct_io(enum PVFS_io_type type, struct inode *inode,
ret
=
new_op
->
downcall
.
resp
.
io
.
amt_complete
;
/*
tell the device file owner waiting on I/O that this read has
completed and it can return now. in this exact case, on
wakeup the daemon will free the op, so we *cannot* touch it
after this.
*
tell the device file owner waiting on I/O that this read has
*
completed and it can return now. in this exact case, on
*
wakeup the daemon will free the op, so we *cannot* touch it
*
after this.
*/
wake_up_daemon_for_return
(
new_op
);
new_op
=
NULL
;
...
...
@@ -875,9 +874,9 @@ static int pvfs2_file_release(struct inode *inode, struct file *file)
pvfs2_flush_inode
(
inode
);
/*
remove all associated inode pages from the page cache and mmap
readahead cache (if any); this forces an expensive refresh of
data for the next caller of mmap (or 'get_block' accesses)
*
remove all associated inode pages from the page cache and mmap
*
readahead cache (if any); this forces an expensive refresh of
*
data for the next caller of mmap (or 'get_block' accesses)
*/
if
(
file
->
f_path
.
dentry
->
d_inode
&&
file
->
f_path
.
dentry
->
d_inode
->
i_mapping
&&
...
...
@@ -960,8 +959,8 @@ static loff_t pvfs2_file_llseek(struct file *file, loff_t offset, int origin)
}
gossip_debug
(
GOSSIP_FILE_DEBUG
,
"pvfs2_file_llseek: offset is %ld | origin is %d
|
"
"inode size is %lu
\n
"
,
"pvfs2_file_llseek: offset is %ld | origin is %d"
"
|
inode size is %lu
\n
"
,
(
long
)
offset
,
origin
,
(
unsigned
long
)
file
->
f_path
.
dentry
->
d_inode
->
i_size
);
...
...
fs/orangefs/inode.c
View file @
54804949
...
...
@@ -128,18 +128,18 @@ static int pvfs2_releasepage(struct page *page, gfp_t foo)
* AIO. Modeled after NFS, they do this too.
*/
/*
static ssize_t pvfs2_direct_IO(int rw,
struct kiocb *iocb,
struct iov_iter *iter,
loff_t offset)
{
gossip_debug(GOSSIP_INODE_DEBUG,
"pvfs2_direct_IO: %s\n",
iocb->ki_filp->f_path.dentry->d_name.name);
return -EINVAL;
}
*/
*
static ssize_t pvfs2_direct_IO(int rw,
*
struct kiocb *iocb,
*
struct iov_iter *iter,
*
loff_t offset)
*
{
*
gossip_debug(GOSSIP_INODE_DEBUG,
*
"pvfs2_direct_IO: %s\n",
*
iocb->ki_filp->f_path.dentry->d_name.name);
*
*
return -EINVAL;
*
}
*/
struct
backing_dev_info
pvfs2_backing_dev_info
=
{
.
name
=
"pvfs2"
,
...
...
fs/orangefs/protocol.h
View file @
54804949
...
...
@@ -101,22 +101,30 @@ typedef __s64 PVFS_offset;
#define PVFS2_SUPER_MAGIC 0x20030528
/* PVFS2 error codes are a signed 32-bit integer. Error codes are negative, but
* the sign is stripped before decoding. */
/*
* PVFS2 error codes are a signed 32-bit integer. Error codes are negative, but
* the sign is stripped before decoding.
*/
/* Bit 31 is not used since it is the sign. */
/* Bit 30 specifies that this is a PVFS2 error. A PVFS2 error is either an
* encoded errno value or a PVFS2 protocol error. */
/*
* Bit 30 specifies that this is a PVFS2 error. A PVFS2 error is either an
* encoded errno value or a PVFS2 protocol error.
*/
#define PVFS_ERROR_BIT (1 << 30)
/* Bit 29 specifies that this is a PVFS2 protocol error and not an encoded
* errno value. */
/*
* Bit 29 specifies that this is a PVFS2 protocol error and not an encoded
* errno value.
*/
#define PVFS_NON_ERRNO_ERROR_BIT (1 << 29)
/* Bits 9, 8, and 7 specify the error class, which encodes the section of
/*
* Bits 9, 8, and 7 specify the error class, which encodes the section of
* server code the error originated in for logging purposes. It is not used
* in the kernel except to be masked out. */
* in the kernel except to be masked out.
*/
#define PVFS_ERROR_CLASS_BITS 0x380
/* Bits 6 - 0 are reserved for the actual error code. */
...
...
@@ -388,14 +396,8 @@ enum {
/*
* version number for use in communicating between kernel space and user
* space
* space
. Zero signifies the upstream version of the kernel module.
*/
/*
#define PVFS_KERNEL_PROTO_VERSION \
((PVFS2_VERSION_MAJOR * 10000) + \
(PVFS2_VERSION_MINOR * 100) + \
PVFS2_VERSION_SUB)
*/
#define PVFS_KERNEL_PROTO_VERSION 0
/*
...
...
fs/orangefs/pvfs2-bufmap.c
View file @
54804949
...
...
@@ -508,9 +508,9 @@ void readdir_index_put(struct pvfs2_bufmap *bufmap, int buffer_index)
}
int
pvfs_bufmap_copy_from_iovec
(
struct
pvfs2_bufmap
*
bufmap
,
struct
iov_iter
*
iter
,
int
buffer_index
,
size_t
size
)
struct
iov_iter
*
iter
,
int
buffer_index
,
size_t
size
)
{
struct
pvfs_bufmap_desc
*
to
;
struct
page
*
page
;
...
...
@@ -553,7 +553,7 @@ int pvfs_bufmap_copy_to_iovec(struct pvfs2_bufmap *bufmap,
"%s: buffer_index:%d: iov_iter_count(iter):%lu:
\n
"
,
__func__
,
buffer_index
,
iov_iter_count
(
iter
));
from
=
&
bufmap
->
desc_array
[
buffer_index
];
from
=
&
bufmap
->
desc_array
[
buffer_index
];
for
(
i
=
0
;
iov_iter_count
(
iter
);
i
++
)
{
page
=
from
->
page_array
[
i
];
...
...
@@ -562,5 +562,5 @@ int pvfs_bufmap_copy_to_iovec(struct pvfs2_bufmap *bufmap,
break
;
}
return
iov_iter_count
(
iter
)
?
-
EFAULT
:
0
;
return
iov_iter_count
(
iter
)
?
-
EFAULT
:
0
;
}
fs/orangefs/pvfs2-debug.h
View file @
54804949
...
...
@@ -180,8 +180,10 @@ static struct __keyword_mask_s s_keyword_mask_map[] = {
{
"readdir"
,
GOSSIP_READDIR_DEBUG
},
/* Debug the mkdir operation (server only) */
{
"mkdir"
,
GOSSIP_MKDIR_DEBUG
},
/* Debug the io operation (reads and writes)
* for both the client and server */
/*
* Debug the io operation (reads and writes)
* for both the client and server.
*/
{
"io"
,
GOSSIP_IO_DEBUG
},
/* Debug the server's open file descriptor cache */
{
"open_cache"
,
GOSSIP_DBPF_OPEN_CACHE_DEBUG
},
...
...
fs/orangefs/pvfs2-kernel.h
View file @
54804949
...
...
@@ -229,9 +229,6 @@ int keyword_is_amalgam(char *);
extern
char
kernel_debug_string
[
PVFS2_MAX_DEBUG_STRING_LEN
];
extern
char
client_debug_string
[
PVFS2_MAX_DEBUG_STRING_LEN
];
extern
char
client_debug_array_string
[
PVFS2_MAX_DEBUG_STRING_LEN
];
/* HELLO
extern struct client_debug_mask current_client_mask;
*/
extern
unsigned
int
kernel_mask_set_mod_init
;
extern
int
pvfs2_init_acl
(
struct
inode
*
inode
,
struct
inode
*
dir
);
...
...
@@ -431,9 +428,9 @@ struct pvfs2_stats {
extern
struct
pvfs2_stats
g_pvfs2_stats
;
/*
NOTE: See Documentation/filesystems/porting for information
on implementing FOO_I and properly accessing fs private data
*/
*
NOTE: See Documentation/filesystems/porting for information
*
on implementing FOO_I and properly accessing fs private data
*/
static
inline
struct
pvfs2_inode_s
*
PVFS2_I
(
struct
inode
*
inode
)
{
return
container_of
(
inode
,
struct
pvfs2_inode_s
,
vfs_inode
);
...
...
fs/orangefs/pvfs2-mod.c
View file @
54804949
...
...
@@ -73,11 +73,11 @@ module_param(slot_timeout_secs, int, 0);
struct
mutex
devreq_mutex
;
/*
blocks non-priority requests from being queued for servicing. t
his
could be used for protecting the request list data structure, but
for now it's only being used to stall the op addition to the request
list
*/
* Blocks non-priority requests from being queued for servicing. T
his
*
could be used for protecting the request list data structure, but
*
for now it's only being used to stall the op addition to the request
*
list
*/
struct
mutex
request_mutex
;
/* hash table for storing operations waiting for matching downcall */
...
...
fs/orangefs/pvfs2-utils.c
View file @
54804949
...
...
@@ -111,18 +111,18 @@ static int copy_attributes_to_inode(struct inode *inode,
/*
arbitrarily set the inode block size; FIXME: we need to
resolve the difference between the reported inode blocksize
and the PAGE_CACHE_SIZE, since our block count will always
be wrong.
For now, we're setting the block count to be the proper
number assuming the block size is 512 bytes, and the size is
rounded up to the nearest 4K. This is apparently required
to get proper size reports from the 'du' shell utility.
changing the inode->i_blkbits to something other than
PAGE_CACHE_SHIFT breaks mmap/execution as we depend on that.
*
arbitrarily set the inode block size; FIXME: we need to
*
resolve the difference between the reported inode blocksize
*
and the PAGE_CACHE_SIZE, since our block count will always
*
be wrong.
*
*
For now, we're setting the block count to be the proper
*
number assuming the block size is 512 bytes, and the size is
*
rounded up to the nearest 4K. This is apparently required
*
to get proper size reports from the 'du' shell utility.
*
*
changing the inode->i_blkbits to something other than
*
PAGE_CACHE_SHIFT breaks mmap/execution as we depend on that.
*/
gossip_debug
(
GOSSIP_UTILS_DEBUG
,
"attrs->mask = %x (objtype = %s)
\n
"
,
...
...
@@ -662,41 +662,51 @@ __u64 pvfs2_convert_time_field(void *time_ptr)
return
pvfs2_time
;
}
/* The following is a very dirty hack that is now a permanent part of the
* PVFS2 protocol. See protocol.h for more error definitions. */
/*
* The following is a very dirty hack that is now a permanent part of the
* PVFS2 protocol. See protocol.h for more error definitions.
*/
/* The order matches include/pvfs2-types.h in the OrangeFS source. */
static
int
PINT_errno_mapping
[]
=
{
0
,
EPERM
,
ENOENT
,
EINTR
,
EIO
,
ENXIO
,
EBADF
,
EAGAIN
,
ENOMEM
,
EFAULT
,
EBUSY
,
EEXIST
,
ENODEV
,
ENOTDIR
,
EISDIR
,
EINVAL
,
EMFILE
,
EFBIG
,
ENOSPC
,
EROFS
,
EMLINK
,
EPIPE
,
EDEADLK
,
ENAMETOOLONG
,
ENOLCK
,
ENOSYS
,
ENOTEMPTY
,
ELOOP
,
EWOULDBLOCK
,
ENOMSG
,
EUNATCH
,
EBADR
,
EDEADLOCK
,
ENODATA
,
ETIME
,
ENONET
,
EREMOTE
,
ECOMM
,
EPROTO
,
EBADMSG
,
EOVERFLOW
,
ERESTART
,
EMSGSIZE
,
EPROTOTYPE
,
ENOPROTOOPT
,
EPROTONOSUPPORT
,
EOPNOTSUPP
,
EADDRINUSE
,
EADDRNOTAVAIL
,
ENETDOWN
,
ENETUNREACH
,
ENETRESET
,
ENOBUFS
,
ETIMEDOUT
,
ECONNREFUSED
,
EHOSTDOWN
,
EHOSTUNREACH
,
EALREADY
,
EACCES
,
ECONNRESET
,
ERANGE
0
,
EPERM
,
ENOENT
,
EINTR
,
EIO
,
ENXIO
,
EBADF
,
EAGAIN
,
ENOMEM
,
EFAULT
,
EBUSY
,
EEXIST
,
ENODEV
,
ENOTDIR
,
EISDIR
,
EINVAL
,
EMFILE
,
EFBIG
,
ENOSPC
,
EROFS
,
EMLINK
,
EPIPE
,
EDEADLK
,
ENAMETOOLONG
,
ENOLCK
,
ENOSYS
,
ENOTEMPTY
,
ELOOP
,
EWOULDBLOCK
,
ENOMSG
,
EUNATCH
,
EBADR
,
EDEADLOCK
,
ENODATA
,
ETIME
,
ENONET
,
EREMOTE
,
ECOMM
,
EPROTO
,
EBADMSG
,
EOVERFLOW
,
ERESTART
,
EMSGSIZE
,
EPROTOTYPE
,
ENOPROTOOPT
,
EPROTONOSUPPORT
,
EOPNOTSUPP
,
EADDRINUSE
,
EADDRNOTAVAIL
,
ENETDOWN
,
ENETUNREACH
,
ENETRESET
,
ENOBUFS
,
ETIMEDOUT
,
ECONNREFUSED
,
EHOSTDOWN
,
EHOSTUNREACH
,
EALREADY
,
EACCES
,
ECONNRESET
,
ERANGE
};
int
pvfs2_normalize_to_errno
(
__s32
error_code
)
{
__u32
i
;
/* Success */
if
(
error_code
==
0
)
{
return
0
;
/* This shouldn't ever happen. If it does it should be fixed on the
* server. */
/*
* This shouldn't ever happen. If it does it should be fixed on the
* server.
*/
}
else
if
(
error_code
>
0
)
{
gossip_err
(
"pvfs2: error status receieved.
\n
"
);
gossip_err
(
"pvfs2: assuming error code is inverted.
\n
"
);
error_code
=
-
error_code
;
}
/* XXX: This is very bad since error codes from PVFS2 may not be
* suitable for return into userspace. */
/*
* XXX: This is very bad since error codes from PVFS2 may not be
* suitable for return into userspace.
*/
/* Convert PVFS2 error values into errno values suitable for return
* from the kernel. */
/*
* Convert PVFS2 error values into errno values suitable for return
* from the kernel.
*/
if
((
-
error_code
)
&
PVFS_NON_ERRNO_ERROR_BIT
)
{
if
(((
-
error_code
)
&
(
PVFS_ERROR_NUMBER_BITS
|
PVFS_NON_ERRNO_ERROR_BIT
|
...
...
@@ -708,25 +718,24 @@ int pvfs2_normalize_to_errno(__s32 error_code)
error_code
=
-
ETIMEDOUT
;
}
else
{
/* assume a default error code */
gossip_err
(
"pvfs2: warning: got error code without "
"errno equivalent: %d.
\n
"
,
error_code
);
gossip_err
(
"pvfs2: warning: got error code without errno equivalent: %d.
\n
"
,
error_code
);
error_code
=
-
EINVAL
;
}
/* Convert PVFS2 encoded errno values into regular errno values. */
}
else
if
((
-
error_code
)
&
PVFS_ERROR_BIT
)
{
__u32
i
;
i
=
(
-
error_code
)
&
~
(
PVFS_ERROR_BIT
|
PVFS_ERROR_CLASS_BITS
);
if
(
i
<
sizeof
PINT_errno_mapping
/
sizeof
*
PINT_errno_mapping
)
if
(
i
<
sizeof
(
PINT_errno_mapping
)
/
sizeof
(
*
PINT_errno_mapping
)
)
error_code
=
-
PINT_errno_mapping
[
i
];
else
error_code
=
-
EINVAL
;
/* Only PVFS2 protocol error codes should ever come here. Otherwise
* there is a bug somewhere. */
/*
* Only PVFS2 protocol error codes should ever come here. Otherwise
* there is a bug somewhere.
*/
}
else
{
gossip_err
(
"pvfs2: pvfs2_normalize_to_errno: got error code"
"which is not from PVFS2.
\n
"
);
gossip_err
(
"pvfs2: pvfs2_normalize_to_errno: got error code which is not from PVFS2.
\n
"
);
}
return
error_code
;
}
...
...
@@ -993,7 +1002,7 @@ void do_k_string(void *k_mask, int index)
__u64
*
mask
=
(
__u64
*
)
k_mask
;
if
(
keyword_is_amalgam
((
char
*
)
s_kmod_keyword_mask_map
[
index
].
keyword
))
goto
out
;
goto
out
;
if
(
*
mask
&
s_kmod_keyword_mask_map
[
index
].
mask_val
)
{
if
((
strlen
(
kernel_debug_string
)
+
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment