summaryrefslogtreecommitdiffstats
path: root/src/providers/dp_backend.h
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2014-07-03 12:49:20 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-07-31 11:52:15 +0200
commit45eb92f4564c76d04535b5c8e85e769db3ea93a3 (patch)
treeb74df91a526bccad0283b49ae4e35ab77da75c5f /src/providers/dp_backend.h
parentb39098de5bbb7513d5509fb30a3096a3bd9d43f2 (diff)
downloadsssd-45eb92f4564c76d04535b5c8e85e769db3ea93a3.tar.gz
sssd-45eb92f4564c76d04535b5c8e85e769db3ea93a3.tar.xz
sssd-45eb92f4564c76d04535b5c8e85e769db3ea93a3.zip
Exit offline mode only if server is available.
This patch adds periodic check to test if backend can exit offline mode and only marks backend as not offline if server for the service is available. Prior to this patch we marked backend as not offline if the offline_timeout was reached without checking for the server availability and when the next request failed again we switched back to the offline mode. This caused significant slowdowns in some edge cases. Fixes: https://fedorahosted.org/sssd/ticket/2355 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'src/providers/dp_backend.h')
-rw-r--r--src/providers/dp_backend.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h
index 8e3a68a5b..075681ff9 100644
--- a/src/providers/dp_backend.h
+++ b/src/providers/dp_backend.h
@@ -133,6 +133,8 @@ struct be_ctx {
struct be_cb *unconditional_online_cb_list;
struct be_offline_status offstat;
+ /* Periodicly check if we can go online. */
+ struct be_ptask *check_if_online_ptask;
struct sbus_connection *mon_conn;
struct sbus_connection *sbus_srv;