mirror of
https://github.com/samba-team/samba.git
synced 2025-03-11 16:58:40 +03:00
This deferred handling was already removed, for performance, from everything but the add case. We now remove the normal local add case (an originating update), eg LDAP add from the transaction commit and insted do it on the ADD operation callback (replmd_op_callback()). To keep things simple, we make up the extended DN with the GUID and SID as the object does not actually exist in the DB at the time we prepare backlink. This also allows us to avoid another search in the (much more common) modify case. We rely on transactions to clean up the add of the object if the backlink fails, thankfully unlike in replication replmd_add() is normally the only operation in a transaction, and we have alredy confirmed the link target exists during get_parsed_dns(). Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Mon Feb 27 07:12:02 CET 2017 on sn-devel-144