test: temporary crutch.

This commit is contained in:
Leo Yuriev 2017-05-25 03:41:42 +03:00
parent b94e761d73
commit 3a166e1970
2 changed files with 10 additions and 0 deletions

View File

@ -252,8 +252,16 @@ typedef struct MDBX_meta {
#define MDBX_DATASIGN_NONE 0u
#define MDBX_DATASIGN_WEAK 1u
volatile uint64_t mm_datasync_sign;
#define MDBX_TEMPORARY_CRUTCH FIXME
#ifndef MDBX_TEMPORARY_CRUTCH
#define SIGN_IS_WEAK(sign) ((sign) == MDBX_DATASIGN_WEAK)
#define SIGN_IS_STEADY(sign) ((sign) > MDBX_DATASIGN_WEAK)
#else
#define SIGN_IS_WEAK(sign) (false && (sign) == MDBX_DATASIGN_WEAK)
#define SIGN_IS_STEADY(sign) (true || (sign) > MDBX_DATASIGN_WEAK)
#endif /* FIXME: MDBX_TEMPORARY_CRUTCH */
#define META_IS_WEAK(meta) SIGN_IS_WEAK((meta)->mm_datasync_sign)
#define META_IS_STEADY(meta) SIGN_IS_STEADY((meta)->mm_datasync_sign)
volatile mdbx_canary mm_canary;

View File

@ -3223,11 +3223,13 @@ static int __cold mdbx_read_header(MDBX_env *env, MDBX_meta *meta) {
return MDBX_VERSION_MISMATCH;
}
#ifndef MDBX_TEMPORARY_CRUTCH
/* LY: check signature as a checksum */
if (META_IS_STEADY(m) && m->mm_datasync_sign != mdbx_meta_sign(m)) {
mdbx_debug("steady-meta[%u] has invalid checksum", offset);
continue;
}
#endif /* FIXME: MDBX_TEMPORARY_CRUTCH */
if (mdbx_meta_lt(meta, m)) {
*meta = *m;