diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2017-02-10 12:22:23 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-02-15 14:50:56 +0100 |
commit | 2d1a59f6c2cf3cf4667cf2d01b2d780db916db42 (patch) | |
tree | bf4cce54e9774013cdeac0491e0735c14a07a5d9 | |
parent | f2047f6c5b56d6759bd8e6d504f572a593476c65 (diff) | |
download | sssd-2d1a59f6c2cf3cf4667cf2d01b2d780db916db42.tar.gz sssd-2d1a59f6c2cf3cf4667cf2d01b2d780db916db42.tar.xz sssd-2d1a59f6c2cf3cf4667cf2d01b2d780db916db42.zip |
UTIL: Add a new domain state called DOM_INCONSISTENT
This is a new domain state that indicates to the responder that it
should always send a DP request because the provider is rebuilding the
cache.
Currently it will be only used by the files provider when it is updating
the cache to make sure sssd always returns current data and updating the
cache from files is not as racy.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
-rw-r--r-- | src/confdb/confdb.h | 4 | ||||
-rw-r--r-- | src/providers/data_provider_be.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h index dd6ac77f5..7c9446981 100644 --- a/src/confdb/confdb.h +++ b/src/confdb/confdb.h @@ -248,6 +248,10 @@ enum sss_domain_state { * return cached data */ DOM_INACTIVE, + /** Domain is being updated. Responders should ignore cached data and + * always contact the DP + */ + DOM_INCONSISTENT, }; /** diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index 12b5f43d0..7e7b74c36 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -166,8 +166,10 @@ static void be_mark_subdom_offline(struct sss_domain_info *subdom, tv = tevent_timeval_current_ofs(reset_status_timeout, 0); switch (subdom->state) { + case DOM_INCONSISTENT: case DOM_DISABLED: - DEBUG(SSSDBG_MINOR_FAILURE, "Won't touch disabled subdomain\n"); + DEBUG(SSSDBG_MINOR_FAILURE, + "Won't touch disabled or inconsistent subdomain\n"); return; case DOM_INACTIVE: DEBUG(SSSDBG_TRACE_ALL, "Subdomain already inactive\n"); |