Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/csync
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2015-01-15 13:35:16 +0300
committerOlivier Goffart <ogoffart@woboq.com>2015-01-15 13:36:24 +0300
commit08d3ae9f0290b264d93f5a5eb30a026e2d5ec725 (patch)
tree345c1899c2c809c0c3f2c33592611afb570b0fa1 /csync
parentf654c53c35f41e40973c827606c061524cc1b2eb (diff)
csync_statedb: Have more granular error reporting when the loaddb fails
In order to distiguish error from sqlite_open or from the integrity check Issue #2673
Diffstat (limited to 'csync')
-rw-r--r--csync/src/csync.c2
-rw-r--r--csync/src/csync.h2
-rw-r--r--csync/src/csync_statedb.c3
3 files changed, 4 insertions, 3 deletions
diff --git a/csync/src/csync.c b/csync/src/csync.c
index 976c38be3..386589ee1 100644
--- a/csync/src/csync.c
+++ b/csync/src/csync.c
@@ -210,7 +210,6 @@ int csync_update(CSYNC *ctx) {
CSYNC_LOG(CSYNC_LOG_PRIORITY_DEBUG, "Journal: %s", ctx->statedb.file);
if (csync_statedb_load(ctx, ctx->statedb.file, &ctx->statedb.db) < 0) {
- ctx->status_code = CSYNC_STATUS_STATEDB_LOAD_ERROR;
rc = -1;
return rc;
}
@@ -287,7 +286,6 @@ int csync_reconcile(CSYNC *ctx) {
csync_gettime(&start);
if (csync_statedb_load(ctx, ctx->statedb.file, &ctx->statedb.db) < 0) {
- ctx->status_code = CSYNC_STATUS_STATEDB_LOAD_ERROR;
rc = -1;
return rc;
}
diff --git a/csync/src/csync.h b/csync/src/csync.h
index 82b9c223e..64e5a435f 100644
--- a/csync/src/csync.h
+++ b/csync/src/csync.h
@@ -56,7 +56,7 @@ enum csync_status_codes_e {
CSYNC_STATUS_UNSUCCESSFUL,
CSYNC_STATUS_NO_LOCK, /* OBSOLETE does not happen anymore */
CSYNC_STATUS_STATEDB_LOAD_ERROR,
- CSYNC_STATUS_STATEDB_WRITE_ERROR,
+ CSYNC_STATUS_STATEDB_CORRUPTED,
CSYNC_STATUS_NO_MODULE,
CSYNC_STATUS_TIMESKEW,
CSYNC_STATUS_FILESYSTEM_UNKNOWN,
diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c
index fca504e5a..136b7d492 100644
--- a/csync/src/csync_statedb.c
+++ b/csync/src/csync_statedb.c
@@ -131,6 +131,7 @@ int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb) {
if (ctx->statedb.db) {
CSYNC_LOG(CSYNC_LOG_PRIORITY_NOTICE, "ERR: DB already open");
+ ctx->status_code = CSYNC_STATUS_PARAM_ERROR;
return -1;
}
@@ -143,6 +144,7 @@ int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb) {
errmsg ? errmsg : "<no sqlite3 errormsg>");
rc = -1;
+ ctx->status_code = CSYNC_STATUS_STATEDB_LOAD_ERROR;
goto out;
}
@@ -151,6 +153,7 @@ int csync_statedb_load(CSYNC *ctx, const char *statedb, sqlite3 **pdb) {
CSYNC_LOG(CSYNC_LOG_PRIORITY_NOTICE, "ERR: sqlite3 integrity check failed - bail out: %s.",
errmsg ? errmsg : "<no sqlite3 errormsg>");
rc = -1;
+ ctx->status_code = CSYNC_STATUS_STATEDB_CORRUPTED;
goto out;
}