<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sssd.git/src/db/sysdb.c, branch jhrozek_sysdb_fqdn</title>
<subtitle>Unnamed repository; edit this file to name it for gitweb.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/'/>
<entry>
<title>SYSDB: Add a utility function to return a list of qualified names</title>
<updated>2016-07-06T15:32:59+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-08T14:29:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=99990d4e4d929db39a1fc1d0d65406b677095dba'/>
<id>99990d4e4d929db39a1fc1d0d65406b677095dba</id>
<content type='text'>
Adds a utility function the LDAP provider can use. This is different
from sss_create_internal_fqname_list in the sense that the LDAP provider
passes in the attribute name that contains the name attribute value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a utility function the LDAP provider can use. This is different
from sss_create_internal_fqname_list in the sense that the LDAP provider
passes in the attribute name that contains the name attribute value.
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Check if group attributes differ before saving a group</title>
<updated>2016-06-23T11:47:16+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-29T15:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=40de79d69860ec7f04bf7795bd88b641ec42fd23'/>
<id>40de79d69860ec7f04bf7795bd88b641ec42fd23</id>
<content type='text'>
Adds a new function sysdb_entry_attrs_diff() used in group saving code.
This function is used to check if the result of updating a group would
result in actually changing the sysdb entry -- often, we would try to
dump the same data to the cache during update. If that's the case, the
update code now only updates the timestamp cache, avoiding costly
writes.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a new function sysdb_entry_attrs_diff() used in group saving code.
This function is used to check if the result of updating a group would
result in actually changing the sysdb entry -- often, we would try to
dump the same data to the cache during update. If that's the case, the
update code now only updates the timestamp cache, avoiding costly
writes.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: If modifyTimestamp is the same, only update the TS cache</title>
<updated>2016-06-23T11:47:07+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-05-23T16:18:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=a257259b05d62ebe548b6c798a3aa03a97dbc0c2'/>
<id>a257259b05d62ebe548b6c798a3aa03a97dbc0c2</id>
<content type='text'>
Resolves:
    https://fedorahosted.org/sssd/ticket/2602

If the entry being saved contains the original modifyTimestamp attribute
and the modifyTimestamp attribute is the same as the one we already
saved to the timestamp cache, only the expire timestamps in the
asynchronous timestamp cache will be bumped and the sysdb code will
avoid writes to the main cache completely. If the modifyTimestamp is
either missing or differs, we assume the entry had changed and do a full
write to the main cache.

Also amends the generic sysdb_set_attrs* and similar functions that
their results is also reflected in the timestamps cache.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolves:
    https://fedorahosted.org/sssd/ticket/2602

If the entry being saved contains the original modifyTimestamp attribute
and the modifyTimestamp attribute is the same as the one we already
saved to the timestamp cache, only the expire timestamps in the
asynchronous timestamp cache will be bumped and the sysdb code will
avoid writes to the main cache completely. If the modifyTimestamp is
either missing or differs, we assume the entry had changed and do a full
write to the main cache.

Also amends the generic sysdb_set_attrs* and similar functions that
their results is also reflected in the timestamps cache.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Search the timestamp caches in addition to the sysdb cache</title>
<updated>2016-06-23T11:40:11+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-05-18T12:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=dd285415d7a8d8376207960cfa3e977524c3b98c'/>
<id>dd285415d7a8d8376207960cfa3e977524c3b98c</id>
<content type='text'>
When a sysdb entry is searched, the sysdb cache is consulted first
for users or groups. If an entry is found in the sysdb cache, the
attributes from the timestamp cache are merged to return the full and
up-to-date set of attributes.

The merging is done with a single BASE search which is a direct lookup
into the underlying key-value database, so it should be relatively fast.
More complex merging is done only for enumeration by filter which is
currently done only via the IFP back end and should be quite
infrequent, so I hope we can justify a more complex merging there.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a sysdb entry is searched, the sysdb cache is consulted first
for users or groups. If an entry is found in the sysdb cache, the
attributes from the timestamp cache are merged to return the full and
up-to-date set of attributes.

The merging is done with a single BASE search which is a direct lookup
into the underlying key-value database, so it should be relatively fast.
More complex merging is done only for enumeration by filter which is
currently done only via the IFP back end and should be quite
infrequent, so I hope we can justify a more complex merging there.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Move sysdb initialization into a new module sysdb_init.c</title>
<updated>2016-06-23T11:40:05+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-04-20T13:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=6e9d7cbe43fdfc866b18f9ef0779bbfc10ad6f3a'/>
<id>6e9d7cbe43fdfc866b18f9ef0779bbfc10ad6f3a</id>
<content type='text'>
The sysdb initialization was in the sysdb.c module. With adding
initialization of the timestamp cache, this module would become too big
with too many private functions meant only for initialization.

This patch only moves code around, there are no functional changes to
the initialization.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sysdb initialization was in the sysdb.c module. With adding
initialization of the timestamp cache, this module would become too big
with too many private functions meant only for initialization.

This patch only moves code around, there are no functional changes to
the initialization.

Reviewed-by: Sumit Bose &lt;sbose@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Add systemtap probes to track sysdb transactions</title>
<updated>2016-06-10T16:15:27+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-02-29T12:20:28+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=6dcbfe52d5e64205c0d922f3e89add066b42c496'/>
<id>6dcbfe52d5e64205c0d922f3e89add066b42c496</id>
<content type='text'>
Actually adds marks for sysdb transactions that receive the transaction
nesting level as an argument. The nesting is passed on from probes to
marks along with a human-friendly description.

The transaction commit is decorated with two probes, before and after.
This would allow the caller to distinguish between the time we spend in
the transaction (which might be important, because if a transaction is
active on an ldb context, even the readers are blocked before the
transaction completes) and the time we spend commiting the transaction
(which is important because that's when the disk writes occur)

The probes would be installed into /usr/share/systemtap/tapset on RHEL
and Fedora. This is in line with systemtap's paths which are described
in detail in "man 7 stappaths".

Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Actually adds marks for sysdb transactions that receive the transaction
nesting level as an argument. The nesting is passed on from probes to
marks along with a human-friendly description.

The transaction commit is decorated with two probes, before and after.
This would allow the caller to distinguish between the time we spend in
the transaction (which might be important, because if a transaction is
active on an ldb context, even the readers are blocked before the
transaction completes) and the time we spend commiting the transaction
(which is important because that's when the disk writes occur)

The probes would be installed into /usr/share/systemtap/tapset on RHEL
and Fedora. This is in line with systemtap's paths which are described
in detail in "man 7 stappaths".

Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>SYSDB: Track transaction nesting in sysdb_ctx</title>
<updated>2016-06-10T16:15:27+00:00</updated>
<author>
<name>Jakub Hrozek</name>
<email>jhrozek@redhat.com</email>
</author>
<published>2016-02-29T12:22:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=bd93ef2db6d24946ebf98a23fa18d34d45f6b072'/>
<id>bd93ef2db6d24946ebf98a23fa18d34d45f6b072</id>
<content type='text'>
Adds an integer that tracks how deeply nested we are in sysdb
transactions. This will become useful later, because generally we are
only interested in level-0 transactions when probing, so we'll want to
pass the transaction nesting to the systemtap probes.

Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds an integer that tracks how deeply nested we are in sysdb
transactions. This will become useful later, because generally we are
only interested in level-0 transactions when probing, so we'll want to
pass the transaction nesting to the systemtap probes.

Reviewed-by: Lukáš Slebodník &lt;lslebodn@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sysdb: add sysdb_attrs_add_base64_blob()</title>
<updated>2016-06-09T14:12:25+00:00</updated>
<author>
<name>Sumit Bose</name>
<email>sbose@redhat.com</email>
</author>
<published>2015-11-30T11:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=6cdeb0923c16e3fafe21aaadca6dac1d71474c31'/>
<id>6cdeb0923c16e3fafe21aaadca6dac1d71474c31</id>
<content type='text'>
Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Jakub Hrozek &lt;jhrozek@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sysdb: add sysdb_{add,replace,delete}_ulong()</title>
<updated>2016-05-31T11:07:02+00:00</updated>
<author>
<name>Fabiano Fidêncio</name>
<email>fidencio@redhat.com</email>
</author>
<published>2016-05-25T21:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=49d84c926b00ba1368372cdec255bceb58d66f43'/>
<id>49d84c926b00ba1368372cdec255bceb58d66f43</id>
<content type='text'>
As the add_ulong() convenience can add, replace or remove a unsigned
long according to the operation received as its argument, some confusion
can easily happen due to its misleading name.

In order to improve the explicitness of our code, let's introduce
sysdb_add_ulong(), sysdb_replace_ulong() and sysdb_delete_ulong().

These new functions are basically wrappers of add_ulong() (now
sysdb_ldb_msg_ulong_helper()), calling it using the proper flag
according to each function.

Any code previously using add_ulong() is now adapted to use these brand
new functions.

Related: https://fedorahosted.org/sssd/ticket/1656

Signed-off-by: Fabiano Fidêncio &lt;fabiano@fidencio.org&gt;

Reviewed-by: Petr Cech &lt;pcech@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As the add_ulong() convenience can add, replace or remove a unsigned
long according to the operation received as its argument, some confusion
can easily happen due to its misleading name.

In order to improve the explicitness of our code, let's introduce
sysdb_add_ulong(), sysdb_replace_ulong() and sysdb_delete_ulong().

These new functions are basically wrappers of add_ulong() (now
sysdb_ldb_msg_ulong_helper()), calling it using the proper flag
according to each function.

Any code previously using add_ulong() is now adapted to use these brand
new functions.

Related: https://fedorahosted.org/sssd/ticket/1656

Signed-off-by: Fabiano Fidêncio &lt;fabiano@fidencio.org&gt;

Reviewed-by: Petr Cech &lt;pcech@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sysdb: move add_ulong() convenience to sysdb.c</title>
<updated>2016-05-31T11:06:57+00:00</updated>
<author>
<name>Fabiano Fidêncio</name>
<email>fidencio@redhat.com</email>
</author>
<published>2016-05-25T19:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/sbose/public_git/sssd.git/commit/?id=7b9a4a89cb92a0281d73a2c2e79f5eeb317e1149'/>
<id>7b9a4a89cb92a0281d73a2c2e79f5eeb317e1149</id>
<content type='text'>
Considering that sysdb.c is about utilities around our cache and that
sysdb_ops.c is about operations on objects, seems that add_ulong()
could fit better in sysdb.c.

This move is a suggestion from Jakub Hrozek.

Related: https://fedorahosted.org/sssd/ticket/1656

Signed-off-by: Fabiano Fidêncio &lt;fabiano@fidencio.org&gt;

Reviewed-by: Petr Cech &lt;pcech@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Considering that sysdb.c is about utilities around our cache and that
sysdb_ops.c is about operations on objects, seems that add_ulong()
could fit better in sysdb.c.

This move is a suggestion from Jakub Hrozek.

Related: https://fedorahosted.org/sssd/ticket/1656

Signed-off-by: Fabiano Fidêncio &lt;fabiano@fidencio.org&gt;

Reviewed-by: Petr Cech &lt;pcech@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
