Commit Graph

548259 Commits

Author SHA1 Message Date
Arnd Bergmann
93d3a405a1 staging/lustre: remove CFS_TIME_T definition
The CFS_TIME_T macro serves no real purpose as we stopped using time_t
and changed over to time64_t, so we can remove the last remaining uses
of this.

Two uses of this macro are incorrect and refer to jiffies values
rather than time_t, and one refers to an inode timespec that gets
changed separately.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:17 +02:00
Oleg Drokin
3aabf99744 staging/lustre/ptlrpc: Remove ptlrpc_update_export_timer()
This is only used on the server to keep track of alive clients
and feeds into ping evictor (that was removed from the client code).
Also remove struct obd's obd_exports_timed and
struct obd_export's exp_obd_chain_timed used to keep track of that

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:17 +02:00
Arnd Bergmann
fb209cbddd staging/lustre: remove class_disconnect_export_list
More code that makes no sense on the client and that can be
removed without replacement.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:17 +02:00
Arnd Bergmann
117e2ce8cf staging/lustre: remove unused time handling functions
A bunch of API functions deal with time values but are now
completely unused in lustre. This removes them in order to
remove all references to time_t from the header files.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
922da0c58e staging/lustre: remove wrappers for timer functions
This is a simple cleanup that I did after noticing that the abstraction
for the timer functions in completely pointless, and the one user (ptlrpc)
can just as well call the native Linux functions.

For good measure, this also removes the empty libcfs_arch_init()
and libcfs_arch_cleanup() functions that are defined in the
same file.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
806d6514e9 staging/lustre/lov: remove a bit of dead code
lov_stripe_md_cmp lov_lum_lsm_cmp lov_lum_swab_if_needed functions
have not been in used for a long time, so lets just remove them.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
380f01a18c staging/lustre: remove the ping evictor
This code is never used on the client and can simply be removed.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
219e6de627 staging/lustre: use 64-bit times for request times
All request timestamps and deadlines in lustre are recorded in time_t
and timeval units, which overflow in 2038 on 32-bit systems.

In this patch, I'm converting them to time64_t and timespec64,
respectively. Unfortunately, this makes a relatively large patch,
but I could not find an obvious way to split it up some more without
breaking atomicity of the change.

Also unfortunately, this introduces two instances of div_u64_rem()
in the request path, which can be slow on 32-bit architectures. This
can probably be avoided by a larger restructuring of the code, but
it is unlikely that lustre is used in performance critical setups
on 32-bit architectures, so it seems better to optimize for correctness
rather than speed here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
8cc980713e staging/lustre: use 64-bit times for ptlrpc_sec
Here we use an unsigned long to store the timeout for gc,
which is probably safe until 2106, but this patch converts it
to use ktime_get_real_seconds() and time64_t for consistency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
986ef135c2 staging/lustre: use 64-bit times for ptlrpc sec expiry
The exp_flvr_expire and imp_sec_expire are defined as 'unsigned long',
which doesn't overflow until 2106, but to be on the safe side, this
changes the code to use time64_t like we do everywhere else.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
14e3f92a4c staging/lustre: use 64-bit timestamps for mdc
These three are timestamps that are sent over the wire in mdc_lib
and the obd logging 64-bit values, but are generated using the 32-bit
get_seconds() function, which will eventually overflow.

Changing them to use 64-bit ktime_get_real_seconds() solves the problem.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:16 +02:00
Arnd Bergmann
8d7eed54a2 staging/lustre: use 64-bit times in another debug print
The ll_setattr_raw() function prints the new inode timestamps
along with the current time using '%lu', which overflows in
2106. This changes the printing of the current time for
now, the other two will change when we migrate the VFS code
to use 64-bit timestamps.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:06:15 +02:00
Arnd Bergmann
589bfa3769 staging/lustre: use 64-bit times in debug print
This adapts the format string and get_seconds() call to not
overflow in 2038 in the libcfs_debug_dumplog_internal()
function.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:38 +02:00
Arnd Bergmann
80018a9edb staging/lustre: use 64-bit times in ptlrpc_enc_page_pool
ptlrpc_enc_page_pool computes time deltas using 'long' values from
get_seconds(). This is probably safe beyond y2038, but it's better
to go use monotonic times and 64-bit here for consistency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:38 +02:00
Arnd Bergmann
d9f79e6bf0 staging/lustre: use 64-bit time for selftest
The lustre selftest code has multiple time stamps that are kept
as 'time_t' or 'unsigned long' and can therefore overflow on
32-bit systems.

This changes the code to use time64_t instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:37 +02:00
Arnd Bergmann
ec0067d1be staging/lustre: use 64-bit time for ni_last_alive
The ni_last_alive member of lnet_ni uses a 'long' to store a timestamp,
which breaks on 32-bit systems in 2038.

This changes it to use time64_t and the respective functions for it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:37 +02:00
Arnd Bergmann
74ad578f19 staging/lustre: use 64-bit times for ksnd_connd
The connection starting/failing time stamps will overflow in 2038
on 32-bit machines, so we need to use time64_t and ktime_get_real_seconds()
instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:37 +02:00
Arnd Bergmann
05406826aa staging/lustre: use 64-bit llite debugfs timestamps
The llite debugfs interface contains timestamps that are computed
from timeval, which overflows in 2038 on 32-bit systems.

This changes the output to use a timespec64 type to avoid the
overflow. I also change the format to print the sub-second portion
as 9 digits (nanoseconds) for clarity, rather than printing six
digits without leading zeroes.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:37 +02:00
Arnd Bergmann
0ac0478b65 staging/lustre: use 64-bit time for adaptive timeout
The adaptive timeout handling stores absolute times in 32-bit time_t
quantities, which will overflow in 2038.

This changes it to use time64_t.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:37 +02:00
Arnd Bergmann
74e489aa9c staging/lustre: use 64-bit time for debugfs output
This time is only printed in debugfs, and can be easily converted
to 64-bit to avoid overflowing on 32-bit systems in 2038.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
8f83409cf2 staging/lustre: use 64-bit time for pl_recalc
The ldlm pool calculates elapsed time by comparing the previous and
current get_seconds() values, which is unsafe on 32-bit machines
after 2038.

This changes the code to use time64_t and ktime_get_real_seconds(),
keeping the 'real' instead of 'monotonic' time because of the
debug prints.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
1f8c37a4e2 staging/lustre: use 64-bit timestamps for selftest
The wire protocol for the ping uses a 64-bit seconds/microseconds
pair, but this won't work when one side uses a 32-bit timeval
to look up the current time beyond 2038.

This changes the code to use ktime_get_real_ts64() to create
a timestamp that has the right format on all machines.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
23d9a0467c staging/lustre: use 64-bit computation in s2dhms()
The s2dhms computes the day/hour/minute/second values from a time_t,
which stops working in 2038. This changes the code to take a time64_t
argument, and use div_u64_rem() to implement the first division.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
1f4fc343c0 staging/lustre: use 64-bit times for cfs_srand seed
Several functions in Lustre call cfs_srand with do_gettimeofday
as the seed to get a pseudo-random number.
There is no bug here, but changing it to use ktime_get_ts64()
gets us closer to deprecating do_gettimeofday() and makes it slightly
more random.

Affected functions are:
lnet_shuffle_seed, init_lustre_lite and class_handle_init

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
473c4e0102 staging/lustre: use 64-bit ibn_incarnation computation
ibn_incarnation is a 64-bit value, but using timeval to compute
it will cause an overflow in 2038. This changes it to use
ktime_get_real_ts64() instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:36 +02:00
Arnd Bergmann
70513c5d17 staging/lustre: use jiffies_to_*() instead of cfs_duration_usec
The cfs_duration_usec() function has a timeval as its output, which we
want to avoid in general because of the y2038 problem.

There are only two locations remaining in lustre, so we can for now
replace one with jiffies_to_timeval(), which is a generic kernel function
that does the same thing, the other can just use jiffies_to_usecs()
and completely avoid the timeval.

This is not a full solution yet, but it's a small step that lets us
build a larger portion of lustre without this reference to timeval in
a header file, and avoid triggering automated checking tools that wants
to warn about timeval.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:35 +02:00
Arnd Bergmann
e8453c24d7 staging/lustre: use 'long' return type for cfs_duration_sec()
The cfs_duration_sec() converts a relative jiffies value into seconds,
and returns that number as a time_t. We know that a 32-bit type is
enough here, because the result is order of magnitudes smaller than
the difference in jiffies that is also expressed as a 'long', so
we can safely replace the time_t type with long as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:35 +02:00
Arnd Bergmann
5e50efea6a staging/lustre: use 64-bit time LNetCtl()
This ioctl function passes a 64-bit time argument but then performs
a computation with a 32-bit get_seconds() value.

In order to avoid overflow here, this changes the code to use
64-bit math and ktime_get_real_seconds().

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:35 +02:00
Arnd Bergmann
a11ef8ca94 staging/lustre: avoid unnecessary timeval conversion
The lnet_eq_wait_locked tries to wait for time to pass or an event to
wake up the wait queue. The entire logic seems to be a very elaborate
reimplementation of wait_event().

I'm not trying to clean up the entire logic here, but this at least
gets rid of the multi-way conversion between miliseconds, timeval
and jiffies.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:34 +02:00
Arnd Bergmann
c8ff18106c staging/lustre: change rq_at_index type
The rq_at_index member of ptlrpc_request is incorrectly declared as
time_t, when it is only used as an index into an array, and assigned
from a __u32 variable.

This changes the type to u32, so we can kill off another use of time_t.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:34 +02:00
Arnd Bergmann
98f2d643e3 staging/lustre: use ktime_t for calculating elapsed time
process_param2_config() tries to print how much time has passed
across a call_usermodehelper() function, and uses struct timeval
for that.

We want to remove this structure, so this is better expressed
in terms of ktime_t and ktime_us_delta().

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:34 +02:00
Arnd Bergmann
bf6d21539d staging/lustre: use time64_t for l_last_activity
The l_last_activity struct member is used to keep track lock hold
times, and it is printed for debugging purposes. For the elapsed
time, we can use 'long' here, but it's better to use time64_t
for storing the real time to avoid an overflow in 2038.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:34 +02:00
Arnd Bergmann
86655400c6 staging/lustre: use 64-bit timestamps in debugfs output
Some lustre debugfs files contain the current time. Make sure
we use a format here that does not overflow in 2038.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:33 +02:00
Arnd Bergmann
65f28840e4 staging/lustre: tracefile: document seconds overflow
The lustre tracefile has a timestamp defined as

       __u32 ph_sec;
       __u64 ph_usec;

which seems completely backwards, as the microsecond portion of
a time stamp will always fit into a __u32 value, while the second
portion will overflow in 2038 or 2106 (in case of unsigned seconds).

Changing this would unfortunately change the format in an incompatible
way, breaking all existing user space tools that access the data.

This uses ktime_get_real_ts64() to replace the insufficient
do_gettimeofday() and then truncates the seconds portion to
an u32 type, along with comments to explain the result.

A possible alternative would be the use of ktime_get_ts64() to
read a monotonic timestamp that never overflows, but this would
trigger a check in user space 'hdr->ph_sec < (1 << 30)' that
attempts to ensure that the values are within a reasonable range.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:33 +02:00
Arnd Bergmann
45efd655b1 staging/lustre: obd: remove unused data structures
We want to get rid of all uses of time_t, and it turns out
that obd.h contains a bunch of them that are completely unused.

This removes those structures, along with a couple of other
structures and functions in the same file that also turned
out to be unused.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:33 +02:00
Arnd Bergmann
46c360f9d3 staging/lustre: use 64-bit inode timestamps internally
Lustre has 64-bit timestamps in its network data structures, but
on 32 bit systems, it converts them directly into time_t, which is
32 bit wide.

This changes the code to use 64-bit time stamps for files. The Linux
VFS code still uses time_t though, and will be changed in a separate
patch series.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:33 +02:00
Arnd Bergmann
9f088dba3c staging/lustre: use jiffies for lp_last_query times
The recently introduced lnet_peer_set_alive() function uses
get_seconds() to read the current time into a shared variable,
but all other uses of that variable compare it to jiffies values.

This changes the current use to jiffies as well for consistency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: af3fa7c71b ("staging/lustre/lnet: peer aliveness status and NI status")
Cc: Liang Zhen <liang.zhen@intel.com>
Cc: James Simmons <uja.ornl@gmail.com>
Cc: Isaac Huang <he.huang@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:03:33 +02:00
Jayavant Kenjalkar
7fb7027c44 Staging: lustre: Fix warning detected by coccicheck
Removing redundant semicolon as detected by coccicheck.

Signed-off-by: Jayavant Kenjalkar <jgkenjalkar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:00:39 +02:00
Anton Gerasimov
2adf5e8775 staging: lustre: make non-exported functions static
Declare non-exported functions as static.

Signed-off-by: Anton Gerasimov <anton.gerasimov@openmailbox.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:00:39 +02:00
Anton Gerasimov
4e58248728 staging: lustre: include header with local ptlrpc declarations
Include the header with declarations of variables that are shared between
several sources in ptlrpc module into the appropriate source files.

Signed-off-by: Anton Gerasimov <anton.gerasimov@openmailbox.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 04:00:39 +02:00
Anton Gerasimov
9dc3840b4e staging: lustre: moved extern declarations to a header
This patch moves declarations of variables used in several files
across the ptlrpc module from source files to a local header.

Signed-off-by: Anton Gerasimov <anton.gerasimov@openmailbox.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:58:40 +02:00
Mike Rapoport
40396eb900 staging: lustre: lustre_dlm_flags: stop using C99 comments
Convert C99-style // comments to C89-style comments and fix C99_COMMENTS
checpatch errors.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:57:00 +02:00
Andrzej Hajda
92bb833e39 staging: lustre: fix handling lustre_posix_acl_xattr_filter result
The function can return negative value.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:57:00 +02:00
Andrzej Hajda
4346f9a01f staging: lustre: remove invalid check
Unsigned cannot be negative.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:57:00 +02:00
Ira Weiny
b2d023af69 staging/rdma: Kconfig change STAGING_RDMA to be tristate.
STAGING_RDMA was failing to build when INFINIBAND was set to 'm' and
STAGING_RDMA was set to 'y'.

Making this a tristate properly inherits the 'm' from the INFINIBAND setting.

Reviewed-by: Dalessandro, Dennis <dennis.dalessandro@intel.com>
Reviewed-by: John, Jubin <jubin.john@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:42:27 +02:00
Geliang Tang
b91cc5738f staging: rdma: add a blank line after function
Fixed warnings found by checkpatch.pl:

Please use a blank line after function/struct/union/enum declarations
  FILE: drivers/staging/rdma/amso1100/c2_mq.c:158:
  FILE: drivers/staging/rdma/hfi1/file_ops.c:2069:
  FILE: drivers/staging/rdma/hfi1/sdma.c:744:
  FILE: drivers/staging/rdma/hfi1/verbs.c:1202:

Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:42:27 +02:00
Geliang Tang
96a660d706 IB/hfi1: class_name_user() should be static
Fixes the following sparse warning:
  drivers/staging/rdma/hfi1/device.c:127:12:
  warning: symbol 'class_name_user' was not declared. Should it be static?

Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:42:27 +02:00
Geliang Tang
60f57ec2da IB/hfi1: use kvfree() in sdma.c
Use kvfree() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:42:27 +02:00
Nicolas Iooss
49c3203707 staging/rdma/hfi1: do not use u8 to store a 32-bit integer
hfi1_rc_hdrerr() stores the result of be32_to_cpu() into opcode, which
is a local variable declared as u8.  Later this variable is used in a
24-bit logical right shift, which makes clang complains (when building
an allmodconfig kernel with LLVMLinux patches):

    drivers/staging/rdma/hfi1/rc.c:2399:9: warning: shift count >= width
    of type [-Wshift-count-overflow]
        opcode >>= 24;
               ^   ~~

All of this lead to the point that opcode may have been designed to be
a 32-bit integer instead of an 8-bit one.  Therefore make this variable
u32.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:42:27 +02:00
Mateusz Kulikowski
713519c710 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi
Use naming schema found in other rtlwifi devices.
Rename dm_ctrl_initgain_byrssi to _rtl92e_dm_ctrl_initgain_byrssi.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-29 03:34:09 +02:00