diff options
author | Michal Zidek <mzidek@redhat.com> | 2014-07-03 12:49:20 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-07-31 11:52:15 +0200 |
commit | 45eb92f4564c76d04535b5c8e85e769db3ea93a3 (patch) | |
tree | b74df91a526bccad0283b49ae4e35ab77da75c5f /src/providers/dp_backend.h | |
parent | b39098de5bbb7513d5509fb30a3096a3bd9d43f2 (diff) | |
download | sssd-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.h | 2 |
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; |