From e33995e6d9799b8e301decf88f33d59374372839 Mon Sep 17 00:00:00 2001 From: didg Date: Mon, 3 Jan 2005 13:49:55 +0000 Subject: [PATCH] Index check and rebuild, only count the didname index if the devino index is ok. --- bin/cnid/cnid_index.c | 7 +++++-- etc/cnid_dbd/dbd_dbcheck.c | 10 +++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/bin/cnid/cnid_index.c b/bin/cnid/cnid_index.c index 08328d56..b265229c 100644 --- a/bin/cnid/cnid_index.c +++ b/bin/cnid/cnid_index.c @@ -1,5 +1,5 @@ /* - * $Id: cnid_index.c,v 1.1.2.1 2004-12-21 13:36:11 didg Exp $ + * $Id: cnid_index.c,v 1.1.2.2 2005-01-03 13:49:55 didg Exp $ * * All Rights Reserved. See COPYING. */ @@ -300,15 +300,18 @@ static int dbd_check(char *dbdir) if (dbif_count(DBIF_IDX_DIDNAME, &c_didname)) return -1; - /* bailout after the first error */ if (dbif_count(DBIF_IDX_DEVINO, &c_devino)) return -1; + /* bailout after the first error */ if ( c_cnid != c_devino) { LOG(log_error, logtype_cnid, "CNID database at `%s' corrupted (%u/%u)", dbdir, c_cnid, c_devino); return 1; } + if (dbif_count(DBIF_IDX_DIDNAME, &c_didname)) + return -1; + if ( c_cnid != c_didname) { LOG(log_error, logtype_cnid, "CNID database at `%s' corrupted (%u/%u)", dbdir, c_cnid, c_didname); return 1; diff --git a/etc/cnid_dbd/dbd_dbcheck.c b/etc/cnid_dbd/dbd_dbcheck.c index 652bf2dd..58d06e7d 100644 --- a/etc/cnid_dbd/dbd_dbcheck.c +++ b/etc/cnid_dbd/dbd_dbcheck.c @@ -1,5 +1,5 @@ /* - * $Id: dbd_dbcheck.c,v 1.1.2.1 2004-12-21 13:36:12 didg Exp $ + * $Id: dbd_dbcheck.c,v 1.1.2.2 2005-01-03 13:49:56 didg Exp $ * * Copyright (C) Joerg Lenneis 2003 * All Rights Reserved. See COPYING. @@ -37,18 +37,18 @@ int dbd_check(char *dbdir) if (dbif_count(DBIF_IDX_CNID, &c_cnid)) return -1; - if (dbif_count(DBIF_IDX_DIDNAME, &c_didname)) - return -1; - - /* bailout after the first error */ if (dbif_count(DBIF_IDX_DEVINO, &c_devino)) return -1; + /* bailout after the first error */ if ( c_cnid != c_devino) { LOG(log_error, logtype_cnid, "CNID database at `%s' corrupted (%u/%u)", dbdir, c_cnid, c_devino); return 1; } + if (dbif_count(DBIF_IDX_DIDNAME, &c_didname)) + return -1; + if ( c_cnid != c_didname) { LOG(log_error, logtype_cnid, "CNID database at `%s' corrupted (%u/%u)", dbdir, c_cnid, c_didname); return 1; -- 2.39.2