Leo Kim [Tue, 23 Feb 2016 12:10:54 +0000 (21:10 +0900)]
staging: wilc1000: Revert "staging: wilc1000: remove spaces around '->'"
This reverts commit 6c2ab2398b88 ("staging: wilc1000: remove spaces around '->'").
It had applied from a incorrectly commit a1b56a4c5054
("staging: wilc1000: wilc_wfi_cfgoperations.c: removes unnecessary log messages").
Signed-off-by: Leo Kim <leo.kim@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Leo Kim [Tue, 23 Feb 2016 12:10:53 +0000 (21:10 +0900)]
staging: wilc1000: removes unnecessary retry 3 times
This patch removes unnecessary retry 3 times and related variable.
Actually the retry 3 times sentence, don't retry at all.
Repeats conditions are that until read a chip-id and written a register.
Signed-off-by: Leo Kim <leo.kim@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This struct just wrap struct cfg_param_val. There is no other member
except struct cfg_param_val.
This patch remove struct cfg_param_attr, then struct cfg_param_val is
renamed to struct cfg_param_attr.
Removed unncessary braces from the if-else block to remove the
following checkpatch.pl warning:
WARNING: braces {} are not necessary for any arm of this statement
staging: lustre: libcfs: Use swap() in cfs_hash_bd_order()
Use swap() function instead of using a temporary variable for swapping
two variables.
The Coccinelle semantic patch used to make this change is as follows:
//<smpl>
@@
type T;
T a,b,c;
@@
- a = b;
- b = c;
- c = a;
+ swap(b, c);
//<smpl>
Oleg Drokin [Thu, 25 Feb 2016 03:00:40 +0000 (22:00 -0500)]
staging/lustre: Remove stray space before newline in messages
There were some messages in Lustre that ended with a space followed by
a newline which is pointless, so remove the extra spaces.
Found with checkpatch.
Oleg Drokin [Thu, 25 Feb 2016 03:00:25 +0000 (22:00 -0500)]
staging/lustre/include: Adjust comment style
This fixes most of the
"Block comments use a trailing */ on a separate line" checkpatch
warnings, also some slight reformats of structures or comments
at places.
Oleg Drokin [Thu, 25 Feb 2016 03:00:24 +0000 (22:00 -0500)]
staging/lustre: Reformat comments and structures in lustre_idl.h
This file mostly contains various on the wire data and got
significantly mangled in transition.
This patch rectifies the situation somewhat. Also fixes the
comment style for block comments.
Oleg Drokin [Thu, 25 Feb 2016 03:00:20 +0000 (22:00 -0500)]
staging/lustre: Remove last_rcvd-file related data
last_rcvd (last received) is a special server-side file on the
Lustre FS that stores information about server filesystem and
also list of connected clients and their state. There's no
point in having any of tha ton the client, though.
Oleg Drokin [Thu, 25 Feb 2016 03:00:19 +0000 (22:00 -0500)]
staging/lustre: Remove server data from struct obd_export
Despite it's name struct obd_export could exist on the client too
(used for reverse exports), but all the actual server bits
are not needed there, so could be dropped. This is mostly
various target-related stuff.
Oleg Drokin [Thu, 25 Feb 2016 03:00:18 +0000 (22:00 -0500)]
staging/lustre: Remove index file transfer structures
struct idx_info, struct lu_idxpage, lustre_swab_idx_info,
request formats and related defines are all unused and could
only happen for between-servers communications, so remove them
from the client code.
These defines are only used on the servers to determine
what connect flags corresponding servers support:
MDT_CONNECT_SUPPORTED
OST_CONNECT_SUPPORTED
MGS_CONNECT_SUPPORTED
ECHO_CONNECT_SUPPORTED
Oleg Drokin [Thu, 25 Feb 2016 03:00:08 +0000 (22:00 -0500)]
staging/lustre: Get rid of C99 comments in lustre_idl.h
lustre_idl.h contains various protocol data. In order to avoid
reusal of values that might have meant something else in the past,
the old no longer used values are commented out, convert the
comments into regular comments from C99 where appropriate.
Oleg Drokin [Thu, 25 Feb 2016 03:00:07 +0000 (22:00 -0500)]
staging/lustre: Remove lustre_build_version.h
of the two macroses is contained the LUSTRE_RELEASE was unused and
BUILD_VERSION is too generically named and was replaced with
LUSTRE_VERSION_STRING with all the users (provided by lustre_ver.h)
With in-kernel client the build version should be combined with
kernel build information anyway.
Oleg Drokin [Thu, 25 Feb 2016 02:59:59 +0000 (21:59 -0500)]
staging/lustre: Get rid of object update code
Object update was originally planned to be used for cross-server
updates, so nothign to do with the client. The idea was
later significantly reworked anyway so even wire structs should
not be retained.
This gets rid of update_cmd_t, UPDATE and UPDATE_REPLY rpc and
corresponding subcommands, swabbig logic and such.
Doug Oucharek [Mon, 22 Feb 2016 22:29:25 +0000 (17:29 -0500)]
staging: lustre: Remove LASSERTS from router checker
In lnet_router_checker(), there are two LASSERTS. Neither protects
us from anything and one of them triggered for a customer crashing
the system unecessarily. This patch removes them.
Signed-off-by: Doug Oucharek <doug.s.oucharek@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-7362
Reviewed-on: http://review.whamcloud.com/17003 Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Chris Horn <hornc@cray.com> Reviewed-by: Matt Ezell <ezellma@ornl.gov> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chris Horn [Mon, 22 Feb 2016 22:29:24 +0000 (17:29 -0500)]
staging: lustre: Use lnet_is_route_alive for router aliveness
lctl show_route and lctl route_list will output router aliveness
information via lnet_get_route(). lnet_get_route() should use the
lnet_is_route_alive() function, introduced in e8a1124
http://review.whamcloud.com/7857, to determine route aliveness.
Signed-off-by: Chris Horn <hornc@cray.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5733
Reviewed-on: http://review.whamcloud.com/14055 Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Amir Shehata <amir.shehata@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Amir Shehata [Mon, 22 Feb 2016 22:29:23 +0000 (17:29 -0500)]
staging: lustre: Allocate the correct number of rtr buffers
This patch ensures that the correct number of router buffers are
allocated. It keeps a count that keeps track of the number of
buffers allocated. Another count keeps the number of buffers
requested. The number of buffers allocated is set when creating
new buffers and reduced when buffers are freed.
The number of requested buffer is set when the buffers are
allocated and is checked when credits are returned to determine
whether the buffer should be freed or kept.
In lnet_rtrpool_adjust_bufs() grab lnet_net_lock() before using
rbp_nbuffers to ensure that it doesn't change by
lnet_return_rx_credits_locked() during the process of allocating
new buffers. All other access to rbp_nbuffers is already being
protected by lnet_net_lock().
This avoids the case where we allocate less than the desired
number of buffers.
James Simmons [Mon, 22 Feb 2016 22:29:22 +0000 (17:29 -0500)]
staging: lustre: use sock.h in only acceptor.c
On some platforms having sock.h in lib-types.h would collide with
other included header files being used in the LNet layer. Looking
at what was needed from sock.h only acceptor.c is dependent on it.
To avoid these issues we just use sock.h only in acceptor.c.
Signed-off-by: James Simmons <jsimmons@infradead.org>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6763
Reviewed-on: http://review.whamcloud.com/15386 Reviewed-by: Chris Horn <hornc@cray.com> Reviewed-by: Amir Shehata <amir.shehata@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bruno Faccini [Mon, 22 Feb 2016 22:29:21 +0000 (17:29 -0500)]
staging: lustre: avoid race during lnet acceptor thread termination
This patch will avoid potential race, around socket sleepers
wait list, during acceptor thread termination and using
sk_callback_lock RW-Lock protection.
Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6476
Reviewed-on: http://review.whamcloud.com/14503 Reviewed-by: Amir Shehata <amir.shehata@intel.com> Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Amir Shehata [Mon, 22 Feb 2016 22:29:19 +0000 (17:29 -0500)]
staging: lustre: remove messages from lazy portal on NI shutdown
When shutting down an NI in a busy system, some messages received
on this NI, might be on the lazy portal. They would have grabbed
a ref count on the NI. Therefore NI will not be removed until
messages are processed.
In order to avoid this scenario, when an NI is shutdown go through
all messages queued on the lazy portal and drop messages for the
NI being shutdown
Amir Shehata [Mon, 22 Feb 2016 22:29:18 +0000 (17:29 -0500)]
staging: lustre: prevent assert on LNet module unload
There is a use case where lnet can be unloaded while there are
no NIs configured. Removing lnet in this case will cause
LNetFini() to be called without a prior call to LNetNIFini().
This will cause the LASSERT(the_lnet.ln_refcount == 0) to be
triggered.
To deal with this use case when LNet is configured a reference
count on the module is taken using try_module_get(). This way
LNet must be unconfigured before it could be removed; therefore
avoiding the above case. When LNet is unconfigured module_put()
is called to return the reference count.
Amir Shehata [Mon, 22 Feb 2016 22:29:16 +0000 (17:29 -0500)]
staging: lustre: improvement to router checker
This patch starts router checker thread all the time.
The router checker only checks routes by ping if
live_router_check_interval or dead_router_check_interval are set
to something other than 0, and there are routes configured.
If these conditions are not met the router checker sleeps until woken
up when a route is added. It is also woken up whenever the RC is
being stopped to ensure the thread doesn't hang.
In the future when DLC starts configuring the live and dead
router_check_interval parameters, then by manipulating them
the router checker can be turned on and off by the user.
After adding a route, lnet_check_routes() is called to ensure that
the route added doesn't invalidate the routing configuration. If
lnet_check_routes() fails then the route just added, which caused the
current configuration to be invalidated is deleted, and an error
is returned to the user.
Amir Shehata [Mon, 22 Feb 2016 22:29:13 +0000 (17:29 -0500)]
staging: lustre: reject invalid net configuration for lnet
Currently if there exists a route that goes over a
remote net and then this net is added dynamically as
a local net, then traffic stops because the code in
lnet_send() determines that the destination nid
can be reached from another local_ni, but the src_nid
is still stuck on the earlier NI, because the src_nid
is stored in the ptlrpc layer and is not updated
when a local NI is configured.
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5874
Reviewed-on: http://review.whamcloud.com/12912 Reviewed-by: Isaac Huang <he.huang@intel.com> Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
With DLC it's possible to start up a system with no NIs that require
the acceptor thread, and thus it won't start. Later on the user
can add an NI that requires the acceptor thread to start, it is
then necessary to start it up.
If the user removes a NI and as a result there are no more
NIs that require the acceptor thread then it should be stopped.
This patch adds logic in the dynamically adding and removing NIs
code to ensure the above logic is implemented.
Frank Zago [Mon, 22 Feb 2016 22:29:11 +0000 (17:29 -0500)]
staging: lustre: missed a few cases of using NULL instead of 0
It is preferable to use NULL instead of 0 for pointers. This fixes sparse
warnings such as:
lustre/fld/fld_request.c:126:17: warning: Using plain integer as NULL pointer
The second parameter of class_match_param() was changed to a const, to
be able to remove a cast in one user, to prevent splitting a long
line. No other code change.
Signed-off-by: Frank Zago <fzago@cray.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5396
Reviewed-on: http://review.whamcloud.com/12567 Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Frank Zago [Mon, 22 Feb 2016 22:29:10 +0000 (17:29 -0500)]
staging: lustre: make some lnet functions static
Some functions and variables are only used in their C file, so reduce
their scope. This reduces the code size, and fixes sparse warnings
such as:
warning: symbol 'proc_lnet_routes' was not declared.
Should it be static?
warning: symbol 'proc_lnet_routers' was not declared.
Should it be static?
Some prototypes were removed from C files and added to the proper
header.
Signed-off-by: Frank Zago <fzago@cray.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5396
Reviewed-on: http://review.whamcloud.com/12206 Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Amir Shehata [Mon, 22 Feb 2016 22:29:09 +0000 (17:29 -0500)]
staging: lustre: return appropriate errno when adding route
When adding route it ignored specific scenarios, namely:
1. route already exists
2. route is on a local net
3. route is unreacheable
This patch returns the appropriate return codes from the lower level
function lnet_add_route(), and then ignores the above case from the
calling function, lnet_parse_route(). This is needed so we don't
halt processing routes in the module parameters.
However, we can now add routes dynamically, and it should be returned
to the user whether adding the requested route succeeded or failed.
In userspace it is determined whether to continue adding routes or to
halt processing. Currently "lnetctl import < config" continues
adding the rest of the configuration and reports at the end which
operations passed and which ones failed.
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6045
Reviewed-on: http://review.whamcloud.com/13116 Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com> Reviewed-by: Isaac Huang <he.huang@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>