+static void
+open_db(struct ovsdb_jsonrpc_server *jsonrpc, struct db *db,
+ struct shash *all_dbs)
+{
+ struct ovsdb_error *error;
+
+ error = ovsdb_file_open(db->filename, false,
+ &db->db, &db->file);
+ if (error) {
+ ovs_fatal(0, "%s", ovsdb_error_to_string(error));
+ }
+
+ if (!ovsdb_jsonrpc_server_add_db(jsonrpc, db->db)) {
+ ovs_fatal(0, "%s: duplicate database name",
+ db->db->schema->name);
+ }
+
+ shash_add(all_dbs, db->filename, db);
+}
+