mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
1ee7053180
If the header is specified, then the datalen should be incremented. There are two ways of marshalling ctdb_rec_data: 1. ctdb_rec_data->header is NULL and ctdb_rec_data->data embeds both the header and the value. Used in recovery for push/pull of records. 2. ctdb_rec_data->header is not NULL and ctdb_rec_data->data embeds only the value. Used everywhere else. In both cases, the wire format includes the header and the value. There is nothing in the wire format to inform the unmarshalling code whether to extract the header separately or not. In the current code the header is extracted depending on whether the header argument to the extractor routine is NULL or not. This is insane and highly error-prone. So in the new API, unmarshalling code never extracts the header. If the caller requires the header, then it can be extracted separately using special function ctdb_ltdb_header_extract(). Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Wed Nov 25 13:21:48 CET 2015 on sn-devel-104