From: Tim Beale Date: Tue, 30 Jul 2019 04:40:55 +0000 (+1200) Subject: ldb: Log pack format in user-friendly way X-Git-Tag: tdb-1.4.2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fee9388422e259c2a56e4dccbf44d22ba426ca3;p=thirdparty%2Fsamba.git ldb: Log pack format in user-friendly way The "format 0x26011968" log confused me (and I'm a developer). We can subtract the base offset from the pack format to get a more user-friendly number, e.g. v0 (not actually used), v1, v2, etc. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14059 Signed-off-by: Tim Beale Reviewed-by: Andrew Bartlett Reviewed-by: Garming Sam --- diff --git a/lib/ldb/ldb_key_value/ldb_kv_index.c b/lib/ldb/ldb_key_value/ldb_kv_index.c index eb84a790e00..27454d3f734 100644 --- a/lib/ldb/ldb_key_value/ldb_kv_index.c +++ b/lib/ldb/ldb_key_value/ldb_kv_index.c @@ -3526,6 +3526,18 @@ static int re_index(struct ldb_kv_private *ldb_kv, return 0; } +/* + * Convert the 4-byte pack format version to a number that's slightly + * more intelligible to a user e.g. version 0, 1, 2, etc. + */ +static uint32_t displayable_pack_version(uint32_t version) { + if (version < LDB_PACKING_FORMAT_NODN) { + return version; /* unknown - can't convert */ + } + + return (version - LDB_PACKING_FORMAT_NODN); +} + static int re_pack(struct ldb_kv_private *ldb_kv, _UNUSED_ struct ldb_val key, struct ldb_val val, @@ -3572,8 +3584,9 @@ static int re_pack(struct ldb_kv_private *ldb_kv, */ if ((!ctx->normal_record_seen) && (!ldb_dn_is_special(msg->dn))) { ldb_debug(ldb, LDB_DEBUG_ALWAYS_LOG, - "Repacking database with format %#010x", - ldb_kv->pack_format_version); + "Repacking database from v%u to v%u format", + displayable_pack_version(ctx->old_version), + displayable_pack_version(ldb_kv->pack_format_version)); ctx->normal_record_seen = true; }