[SCM] Samba Shared Repository - branch master updated
Garming Sam
garming at catalyst.net.nz
Wed Mar 7 21:14:24 UTC 2018
Done.
On 07/03/18 22:36, Andreas Schneider wrote:
> On Wednesday, 7 March 2018 01:35:48 CET Garming Sam via samba-technical wrote:
>> I noticed this afterwards, and in theory it shouldn't be able to change,
>> but it's better to just do it once. Patch attached.
>>
>> tdb_get_seqnum also seems to return an int.
> Could you also please use 'bool has_changed' instead of 'bool ret'?
>
>> Cheers,
>>
>> Garming
>>
>> On 07/03/18 11:38, Jeremy Allison wrote:
>>> On Tue, Mar 06, 2018 at 01:40:02AM +0100, Andrew Bartlett wrote:
>>>> The branch, master has been updated
>>>>
>>>> via 4014499 ldb_tdb: Build a key value operation library
>>>> via e3d364a partition: Allow a different backend store from
>>>> @PARTITION
>>>> via 4d5180e ldb_tdb: Implement a traversal function in key value
>>>> ops
>>>> via c9f2ff2 ldb_tdb: Use key value ops for fetch command
>>>> via 68423e9 ldb_tdb: factor out the (to be) common init code
>>>> via 141148e ldb_tdb: Add errorstr to the key value ops
>>>> via c66a005 ldb_tdb: Remove tdb_get_seqnum and use a generic
>>>> 'has_changed'
>>>> via e21a476 ldb_tdb: Add lock_read and unlock_read to key value
>>>> ops
>>>> via 448101a ldb_tdb: Replace tdb transaction code with generic
>>>> key value ones via e33fb2c ldb_tdb: Replace exists, name and
>>>> error_map with key value ops via 9c8f00a ldb_tdb: Begin
>>>> abstracting out the base key value operations via 2a0e022 dsdb:
>>>> The schema should be reloaded during the transaction via 8ac1646
>>>> samdb/schema_load: do schema loading with one search
>>>> via 313b0c6 schema_set: Add a missing newline between functions
>>>> via bca8ac0 remove_dc.py: Abort transaction before throwing an
>>>> exception
>>>> via c4c64ff ldb_mod_op_test: Fix core dump on
>>>> ldb_case_attrs_index_test_teardown via 242cf33 partition: Leave
>>>> metadata.tdb unlocking until last
>>>> via 8caf84a schema: Do not read different schema sequence values
>>>> during a read transaction via 1265346 partition: Use a
>>>> transaction to write and a read lock to read the
>>>> LDB_METADATA_SEQ_NUM>>
>>>> from c59d5e1 build: fix standalone ctdb build --with-systemd
>>>>
>>>> https://git.samba.org/?p=samba.git;a=shortlog;h=master
>>> One quick (random) comment on this patchstream, which
>>>
>>> I didn't get to in time:
>>>> commit c66a0054fb99b6519344c11954417d6615e1310b
>>>> Author: Garming Sam <garming at catalyst.net.nz>
>>>> Date: Tue Jan 10 23:23:22 2017 +1300
>>>>
>>>> ldb_tdb: Remove tdb_get_seqnum and use a generic 'has_changed'
>>>>
>>>> Signed-off-by: Garming Sam <garming at catalyst.net.nz>
>>>> Reviewed-by: Andrew Bartlett <abartlet at samba.org>
>>> This one adds the function:
>>>
>>> +static bool ltdb_tdb_changed(struct ltdb_private *ltdb)
>>> +{
>>> + bool ret = (tdb_get_seqnum(ltdb->tdb) != ltdb->tdb_seqnum);
>>> +
>>> + ltdb->tdb_seqnum = tdb_get_seqnum(ltdb->tdb);
>>> +
>>> + return ret;
>>> +}
>>>
>>> which calls tdb_get_seqnum() *twice*. Now it (probably)
>>> doesn't matter, but *theoretically* you could have
>>> the value of tdb_get_seqnum() change between the two
>>> calls. You're only storing the latest value anyway,
>>> so arguably you want the latest version stored here,
>>> but it just seems sloppy to do the two calls here.
>>>
>>> Shouldn't this be:
>>>
>>> uint32_t seq = tdb_get_seqnum()
>>>
>>> and then use 'seq' in both places you're currently
>>> calling tdb_get_seqnum() ?
>>>
>>> Jeremy.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ldb_tdb-Remove-unnecessary-call-to-tdb_get_seqnum.patch
Type: text/x-patch
Size: 1004 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20180308/2c7ecb47/0001-ldb_tdb-Remove-unnecessary-call-to-tdb_get_seqnum.bin>
More information about the samba-technical
mailing list