projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ovs-vsctl: Support references among records at creation time.
[openvswitch]
/
ovsdb
/
ovsdb-tool.c
diff --git
a/ovsdb/ovsdb-tool.c
b/ovsdb/ovsdb-tool.c
index b2e200cbb8df38614e7b91208ee1112cb01ecbc0..a68e0f987ffc83e80e45bb1ae703526fa01643a7 100644
(file)
--- a/
ovsdb/ovsdb-tool.c
+++ b/
ovsdb/ovsdb-tool.c
@@
-189,7
+189,7
@@
compact_or_convert(const char *src_name, const char *dst_name,
/* Lock the source, if we will be replacing it. */
if (in_place) {
/* Lock the source, if we will be replacing it. */
if (in_place) {
- retval = lockfile_lock(src_name,
INT_MAX
, &src_lock);
+ retval = lockfile_lock(src_name,
0
, &src_lock);
if (retval) {
ovs_fatal(retval, "%s: failed to lock lockfile", src_name);
}
if (retval) {
ovs_fatal(retval, "%s: failed to lock lockfile", src_name);
}
@@
-199,7
+199,7
@@
compact_or_convert(const char *src_name, const char *dst_name,
if (in_place) {
dst_name = xasprintf("%s.tmp", src_name);
}
if (in_place) {
dst_name = xasprintf("%s.tmp", src_name);
}
- retval = lockfile_lock(dst_name,
INT_MAX
, &dst_lock);
+ retval = lockfile_lock(dst_name,
0
, &dst_lock);
if (retval) {
ovs_fatal(retval, "%s: failed to lock lockfile", dst_name);
}
if (retval) {
ovs_fatal(retval, "%s: failed to lock lockfile", dst_name);
}
@@
-207,7
+207,7
@@
compact_or_convert(const char *src_name, const char *dst_name,
/* Save a copy. */
check_ovsdb_error(new_schema
? ovsdb_file_open_as_schema(src_name, new_schema, &db)
/* Save a copy. */
check_ovsdb_error(new_schema
? ovsdb_file_open_as_schema(src_name, new_schema, &db)
- : ovsdb_file_open(src_name, true, &db));
+ : ovsdb_file_open(src_name, true, &db
, NULL
));
check_ovsdb_error(ovsdb_file_save_copy(dst_name, false, comment, db));
ovsdb_destroy(db);
check_ovsdb_error(ovsdb_file_save_copy(dst_name, false, comment, db));
ovsdb_destroy(db);
@@
-248,7
+248,7
@@
transact(bool read_only, const char *db_file_name, const char *transaction)
struct json *request, *result;
struct ovsdb *db;
struct json *request, *result;
struct ovsdb *db;
- check_ovsdb_error(ovsdb_file_open(db_file_name, read_only, &db));
+ check_ovsdb_error(ovsdb_file_open(db_file_name, read_only, &db
, NULL
));
request = parse_json(transaction);
result = ovsdb_execute(db, request, 0, NULL);
request = parse_json(transaction);
result = ovsdb_execute(db, request, 0, NULL);
@@
-337,8
+337,13
@@
print_db_changes(struct shash *tables, struct shash *names)
: xmemdup0(row_uuid, 8)));
}
} else if (columns->type == JSON_NULL) {
: xmemdup0(row_uuid, 8)));
}
} else if (columns->type == JSON_NULL) {
+ struct shash_node *node;
+
printf("\t\tdelete row\n");
printf("\t\tdelete row\n");
- shash_delete(names, shash_find(names, row_uuid));
+ node = shash_find(names, row_uuid);
+ if (node) {
+ shash_delete(names, node);
+ }
free(old_name);
}
free(old_name);
}