ovsdb-idl: Check prerequisites for ovsdb_idl_txn_verify() also.
authorBen Pfaff <blp@nicira.com>
Wed, 8 Dec 2010 22:26:37 +0000 (14:26 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 9 Dec 2010 01:09:29 +0000 (17:09 -0800)
The IDL can only verify prerequisites for columns that it is monitoring,
but it didn't check for that.  This assertion (which is the same as one in
ovsdb_idl_txn_write()) should alert us to such problems.

This would have found the problem fixed by the previous commit.

lib/ovsdb-idl.c

index 448f9c94424e35030f9d4794c7133c476db831b7..df5aff52960217ddea1edd41dd7d3b81b61349de 100644 (file)
@@ -1693,6 +1693,8 @@ ovsdb_idl_txn_verify(const struct ovsdb_idl_row *row_,
     size_t column_idx = column - class->columns;
 
     assert(row->new != NULL);
+    assert(row->old == NULL ||
+           row->table->modes[column_idx] & OVSDB_IDL_MONITOR);
     if (!row->old
         || (row->written && bitmap_is_set(row->written, column_idx))) {
         return;