+#ifdef FILE_MANGLING
+ /* filename mangling database. Use a hash for this one. */
+ if ((rc = db_create(&db->db_mangle, db->dbenv, 0)) != 0) {
+ LOG(log_error, logtype_default, "cnid_open: Failed to create mangle database: %s", db_strerror(rc));
+ db->db_didname->close(db->db_didname, 0);
+ db->db_devino->close(db->db_devino, 0);
+ db->db_cnid->close(db->db_cnid, 0);
+#ifdef EXTENDED_DB
+ db->db_macname->close(db->db_macname, 0);
+ db->db_shortname->close(db->db_shortname, 0);
+ db->db_longname->close(db->db_longname, 0);
+#endif /* EXTENDED_DB */
+ goto fail_appinit;
+ }
+
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
+ if ((rc = db->db_mangle->open(db->db_mangle, NULL, DBMANGLE, NULL, DB_HASH, open_flag | DB_AUTO_COMMIT, 0666 & ~mask)) != 0) {
+#else
+ if ((rc = db->db_mangle->open(db->db_mangle, DBMANGLE, NULL, DB_HASH, open_flag, 0666 & ~mask)) != 0) {
+#endif /* DB_VERSION_MAJOR >= 4 */
+ LOG(log_error, logtype_default, "cnid_open: Failed to open mangle database: %s", db_strerror(rc));
+ db->db_didname->close(db->db_didname, 0);
+ db->db_devino->close(db->db_devino, 0);
+ db->db_cnid->close(db->db_cnid, 0);
+#ifdef EXTENDED_DB
+ db->db_macname->close(db->db_macname, 0);
+ db->db_shortname->close(db->db_shortname, 0);
+ db->db_longname->close(db->db_longname, 0);
+#endif /* EXTENDED_DB */
+ goto fail_appinit;
+ }
+#endif /* FILE_MANGLING */
+
+ /* Print out the version of BDB we're linked against. */
+ LOG(log_info, logtype_default, "CNID DB initialized using %s",
+ db_version(NULL, NULL, NULL));
+