 +   jcr->file_list->set_errpfx(jcr->file_list, "hash");
 +
 +   if ((ret = jcr->file_list->set_cachesize(jcr->file_list, 0, 32 * 1024 * 1024, 0)) != 0) {
-+      Jmsg(jcr, M_ERROR, 1, _("Can't setup hash disk cache size\n"));
++      Jmsg(jcr, M_ERROR, 1, _("Can't setup hash disk cache size ERR=%i\n"), ret);
 +   }
 +
 +   jcr->hash_name  = get_pool_memory(PM_MESSAGE);
 +   make_unique_filename(&jcr->hash_name, jcr->JobId, "accurate");
 +
 +   if ((ret = jcr->file_list->open(jcr->file_list,
-+				   NULL, jcr->hash_name, NULL, DB_BTREE, DB_CREATE, 0600)) != 0) {
++				   NULL, jcr->hash_name, NULL, 
++				   DB_BTREE, DB_CREATE | DB_PRIVATE, 0600)) != 0)
++   {
 +      jcr->file_list->close(jcr->file_list, DB_NOSYNC);
 +      jcr->file_list=NULL;
 +      free_pool_memory(jcr->hash_name);
 +      jcr->hash_name = NULL;
-+      Jmsg(jcr, M_ERROR, 1, _("Can't setup hash disk cache size\n"));
++      Jmsg(jcr, M_ERROR, 1, _("Can't setup hash disk cache size ERR=%i\n"), ret);
 +      return 0;
 +   }
 +

+   DBT dbkey, dbdata;
+   memset(&dbkey, 0, sizeof(DBT));
+   memset(&dbdata, 0, sizeof(DBT));
+   dbkey.data = elt.fname;
+   dbkey.size = (u_int32_t)strlen(elt.fname)+1;
+   dbdata.data = &elt;
+   dbdata.size = sizeof(CurFile);
+   if ((ret = jcr->file_list->put(jcr->file_list, NULL, &dbkey, &dbdata, 0))) {
+      Jmsg(jcr, M_ERROR, 1, _("Can't update accurate hash disk ERR=%i\n"), ret);
+      return false;
+   }
+
+#endif
+#ifdef USE_HTABLE
    CurFile *item;
    /* we store CurFile, fname and ctime/mtime in the same chunk */
    item = (CurFile *)jcr->file_list->hash_malloc(sizeof(CurFile)+strlen(fname)+1);
Index: src/filed/filed.h
===================================================================
--- src/filed/filed.h	(revision 7286)
+++ src/filed/filed.h	(working copy)
@@ -37,7 +37,11 @@
 #define FILE_DAEMON 1
 #ifdef USE_TCADB		      /* hash disk based */

+   int ret;
+
+   if ((ret = db_create(&jcr->file_list, NULL, 0)) != 0) {
+      Jmsg(jcr, M_ERROR, 1, _("Can't open accurate hash disk ERR=%i\n"), ret);
+      return 0;
+   }
+
