From: Gary Lockyer Date: Tue, 20 Mar 2018 22:38:22 +0000 (+1300) Subject: ldb_mdb: handle EBADE from mdb_env_open X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=5a0e212285d4cbff4c4dff54a4dad98eda324e57 ldb_mdb: handle EBADE from mdb_env_open Under some circumstances mdb_env_open returns EBADE, we treat this as indicating the file is not a valid lmdb format file. Signed-off-by: Gary Lockyer Reviewed-by: Andrew Bartlett --- diff --git a/lib/ldb/ldb_mdb/ldb_mdb.c b/lib/ldb/ldb_mdb/ldb_mdb.c index 1e6c99b3dd0d..0e81a824f0ef 100644 --- a/lib/ldb/ldb_mdb/ldb_mdb.c +++ b/lib/ldb/ldb_mdb/ldb_mdb.c @@ -41,6 +41,7 @@ int ldb_mdb_err_map(int lmdb_err) return LDB_SUCCESS; case EIO: return LDB_ERR_OPERATIONS_ERROR; + case EBADE: case MDB_INCOMPATIBLE: case MDB_CORRUPTED: case MDB_INVALID: @@ -788,7 +789,7 @@ static int lmdb_pvt_open(struct lmdb_private *lmdb, "Could not create MDB environment %s: %s\n", path, mdb_strerror(ret)); - return LDB_ERR_OPERATIONS_ERROR; + return ldb_mdb_err_map(ret); } /* Close when lmdb is released */