64 * 1024, /* bdb cachesize (64 MB) */
DEFAULT_MAXLOCKS, /* maxlocks */
DEFAULT_MAXLOCKOBJS, /* maxlockobjs */
- -1, /* not used ... */
- -1,
- "",
- -1,
- -1,
- -1
+ 0, /* flush_interval */
+ 0, /* flush_frequency */
+ 1000, /* txn_frequency */
+ 0, /* usock_file */
+ -1, /* fd_table_size */
+ -1, /* idle_timeout */
+ -1 /* max_vols */
};
static char dbpath[MAXPATHLEN+1]; /* Path to the dbd database */
/* Check if -f is requested and wipe db if yes */
if ((flags & DBD_FLAGS_FORCE) && rebuild && (volinfo.v_flags & AFPVOL_CACHE)) {
char cmd[8 + MAXPATHLEN];
- snprintf(cmd, 8 + MAXPATHLEN, "rm -rf \"%s\"", dbpath);
+ close(lockfd);
+ snprintf(cmd, 8 + MAXPATHLEN, "rm -f \"%s/*\"", dbpath);
dbd_log( LOGDEBUG, "Removing old database of volume: '%s'", volpath);
system(cmd);
- if ((mkdir(dbpath, 0755)) != 0) {
- dbd_log( LOGSTD, "Can't create dbpath \"%s\": %s", dbpath, strerror(errno));
- exit(EXIT_FAILURE);
- }
dbd_log( LOGDEBUG, "Removed old database.");
+ lockfd = get_lock(dbpath);
}
/*
/* Cleanup */
dbd_log(LOGDEBUG, "Closing db");
- if (! nocniddb && dbif_close(dbd) < 0) {
- dbd_log( LOGSTD, "Error closing database");
- goto exit_failure;
+ if (! nocniddb) {
+ if (dbif_close(dbd) < 0) {
+ dbd_log( LOGSTD, "Error closing database");
+ goto exit_failure;
+ }
}
exit_success: