On Sun, Dec 17, 2023 at 9:03 PM Ilya Maximets <[email protected]> wrote: > > Datum of UUID and _version columns is accessed directly via > ovsdb_row_get_uuid_rw() and ovsdb_row_get_version_rw() functions > instead of ovsdb_data_* functions. Meaning, the data will be > directly modified even if it is shared between rows. > > Fix that by unsharing the data whenever RW pointer is taken. > > The issue was mostly hidden because weak reference assessment > code always called ovsdb_datum_subtract() even if not needed. > This way all the new transaction rows were always implicitly > unshared. > > Also making ovsdb_datum_subtract() call conditional, so the > issue can be hit by existing unit tests. > > Fixes: 485ac63d10f8 ("ovsdb: Add lazy-copy support for ovsdb_datum objects.") > Signed-off-by: Ilya Maximets <[email protected]>
This looks correct to me. Acked-by: Mike Pattrick <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
