[ovs-dev] [PATCH] ovsdb-idl: Mark row "parsed" in ovsdb_idl_txn_write__

Damijan Skvarc damjan.skvarc at gmail.com
Thu Jul 18 16:58:34 UTC 2019


Hmm, the problem of "parsed" flag is that it identifies "all" columns of
certain row have been parsed, however there are CLI tools which modify only
individual colums by calling ovsdb_idl_txn_write_() function. In this case
and in case parsed flag would be set in ovsdb_idl_txn_write() function then
unparsing procedure would be called also for columns which were not parsed.
The problem could be overcome by having individual flag for each column.
This has been addresed in pending pull request. Apparent mail has been sent
to dev list, but obviosly has been somehow overlooked.
br, damijan

On Thu, 18 Jul 2019, 17:52 Ben Pfaff, <blp at ovn.org> wrote:

> On Wed, Jul 17, 2019 at 09:05:04PM +0200, Dumitru Ceara wrote:
> > Once a column is set in a row using ovsdb_idl_txn_write__ we also mark
> > the row "parsed". Otherwise the memory allocated by
> > sbrec_<table>_parse_<col>() will never be freed. After marking the row
> > "parsed", the ovsdb_idl_txn_disassemble function will properly free the
> > newly allocated memory for the column (ovsdb_idl_row_unparse).
>
> Wow, good catch.  I bet that's been there forever.
>
> The OVSDB IDL code is too complicated.  It's too hard to spot the
> issues.  I wish I saw a way to make it simpler.
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list