diff options
author | Amir Shehata <amir.shehata@intel.com> | 2016-02-22 17:29:16 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-22 18:05:49 -0800 |
commit | 7f8b70e05c6e6ffeaaadb0b266b9392539a6b04f (patch) | |
tree | 9cac22d335ee5f44331f6f643e52f61f5a297520 /drivers/staging/lustre/include/linux | |
parent | 1ccde726260687cb37ee0d1d9666e07f86aeb937 (diff) | |
download | op-kernel-dev-7f8b70e05c6e6ffeaaadb0b266b9392539a6b04f.zip op-kernel-dev-7f8b70e05c6e6ffeaaadb0b266b9392539a6b04f.tar.gz |
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.
Signed-off-by: Amir Shehata <amir.shehata@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6003
Reviewed-on: http://review.whamcloud.com/13035
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Doug Oucharek <doug.s.oucharek@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>
Diffstat (limited to 'drivers/staging/lustre/include/linux')
-rw-r--r-- | drivers/staging/lustre/include/linux/lnet/lib-types.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/staging/lustre/include/linux/lnet/lib-types.h b/drivers/staging/lustre/include/linux/lnet/lib-types.h index e4a8f6e..06d4656 100644 --- a/drivers/staging/lustre/include/linux/lnet/lib-types.h +++ b/drivers/staging/lustre/include/linux/lnet/lib-types.h @@ -635,6 +635,13 @@ typedef struct { */ bool ln_nis_from_mod_params; + /* + * waitq for router checker. As long as there are no routes in + * the list, the router checker will sleep on this queue. when + * routes are added the thread will wake up + */ + wait_queue_head_t ln_rc_waitq; + } lnet_t; #endif |