> I think that at the least the name here is misleading.  The
> OVSDB_IDL_MONITOR flag is set if the IDL will monitor a particular
> column.  Thus, it is set for read-only, write-only, and (if we really
> did this) read/write columns.

oops, yes this was just a bug.  I meant to use ==.  I'll change it.

Ethan

> It might be nice to add something like "internal error" or "bug"
> somewhere in there, to make it clear that this isn't related to anything
> the user did.
>
>> +        ovsdb_datum_destroy(datum, &column->type);
>> +        return;
>> +    }
>> +
>>      /* If this is a write-only column and the datum being written is the 
>> same
>>       * as the one already there, just skip the update entirely.  This is 
>> worth
>>       * optimizing because we have a lot of columns that get periodically
>> @@ -1849,9 +1867,8 @@ ovsdb_idl_txn_write(const struct ovsdb_idl_row *row_,
>>       * transaction only does writes of existing values, without making any 
>> real
>>       * changes, we will drop the whole transaction later in
>>       * ovsdb_idl_txn_commit().) */
>> -    if (row->table->modes[column_idx] == OVSDB_IDL_MONITOR
>> -        && ovsdb_datum_equals(ovsdb_idl_read(row, column),
>> -                              datum, &column->type)) {
>
> (See, there's the correct test.)
>
>> +    if (write_only && ovsdb_datum_equals(ovsdb_idl_read(row, column),
>> +                                         datum, &column->type)) {
>>          ovsdb_datum_destroy(datum, &column->type);
>>          return;
>>      }
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to