2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-29 15:28:56 +00:00

ovsdb: Implement garbage collection.

This commit is contained in:
Ben Pfaff
2011-03-10 11:15:01 -08:00
parent 7f90cb0efe
commit c5f341ab19
27 changed files with 800 additions and 313 deletions

View File

@@ -232,6 +232,18 @@ case "$1" in
cksum=`ovsdb-tool db-cksum "$conf_file" | awk '{print $1}'`
cp "$conf_file" "$conf_file.backup$version-$cksum"
# Compact database. This is important if the old schema did not
# enable garbage collection (i.e. if it did not have any tables
# with "isRoot": true) but the new schema does. In that situation
# the old database may contain a transaction that creates a record
# followed by a transaction that creates the first use of the
# record. Replaying that series of transactions against the new
# database schema (as "convert" does) would cause the record to be
# dropped by the first transaction, then the second transaction
# would cause a referential integrity failure (for a strong
# reference).
ovsdb-tool -vANY:console:emer compact $conf_file
# Upgrade or downgrade schema and compact database.
ovsdb-tool -vANY:console:emer convert $conf_file $schema_file
fi