]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb: Log the partition we're repacking
authorTim Beale <timbeale@catalyst.net.nz>
Tue, 30 Jul 2019 22:33:49 +0000 (10:33 +1200)
committerGarming Sam <garming@samba.org>
Tue, 20 Aug 2019 03:40:29 +0000 (03:40 +0000)
Firstly, with Samba AD this looks a little weird because we log the same
message 5 times (once for every partition). If we log that we're doing
this to records in different partitions, hopefully someone with a little
Samba knowledge can figure out what's going on.

Secondly, the info about what partitions are actually changing might be
useful. E.g. if we hit a fatal error repacking the 3rd partition, and
the transaction doesn't abort properly, then it would be useful to know
what partitions were repacked and which ones weren't.

There doesn't appear to be a useful name for the partition
(ldb_kv->kv_ops->name() doesn't seem any more intelligible to a user),
so just log the first record that we update. We can use that to infer
the partition database).

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14059

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
lib/ldb/ldb_key_value/ldb_kv_index.c

index 27454d3f734999f6e1f28c80fb45b335f0f8c0d4..d955517ea103ab7b2f1b10be25618b88b6ea3252 100644 (file)
@@ -3584,9 +3584,11 @@ 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 from v%u to v%u format",
+                         "Repacking database from v%u to v%u format "
+                         "(first record %s)",
                          displayable_pack_version(ctx->old_version),
-                         displayable_pack_version(ldb_kv->pack_format_version));
+                         displayable_pack_version(ldb_kv->pack_format_version),
+                         ldb_dn_get_linearized(msg->dn));
                ctx->normal_record_seen = true;
        }