mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
278039ff78
A source object can potentially link to thousands of target objects. We have to be careful not to overfill the GetNCChanges response message with more data than it's possible to send. We also don't want the client to timeout while we're busy checking the linked attributes. The GET_TGT support added so far is fairly dumb - this patch extends it to better handle larger numbers of links. To do so, this extends the repl_chunk usage so that it also works out if the current chunk is full of links. Now as soon as the chunk is full of either links or objects, we stop and send it back. These changes now mean that we need to also check: - that all the links for the last source object in the previous chunk have been sent, before we move on and send the next object. This only takes effect when immediate_link_sync is configured. It also means that a chunk in the middle of the replication cycle can now contain only links, and no objects. - when GET_TGT is used, we only send back the links that we've verified the target object for. i.e. if we stop checking links because we timed out, we only send back the links whose targets were checked. Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>