From 0c2f7224e075538fc0fd70e4405cafc82f037909 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 25 Feb 2019 15:35:22 +0100 Subject: dbcheck: don't move already deleted objects to LostAndFound This would typically happen when the garbage collection removed a parent object before a child object (both with the DISALLOW_MOVE_ON_DELETE bit set in systemFlags), while dbcheck is running at the same time as the garbage collection. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13816 Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett (cherry picked from commit 6d50ee74920c39cdb18b427bfaaf200775bf2d73) --- python/samba/dbchecker.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'python') diff --git a/python/samba/dbchecker.py b/python/samba/dbchecker.py index 81c94fbcbd0..d6fe261c2b5 100644 --- a/python/samba/dbchecker.py +++ b/python/samba/dbchecker.py @@ -2391,8 +2391,13 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base))) except ldb.LdbError as e11: (enum, estr) = e11.args if enum == ldb.ERR_NO_SUCH_OBJECT: - self.err_missing_parent(obj) - error_count += 1 + if isDeleted: + self.report("WARNING: parent object not found for %s" % (obj.dn)) + self.report("Not moving to LostAndFound " + "(tombstone garbage collection in progress?)") + else: + self.err_missing_parent(obj) + error_count += 1 else: raise -- cgit v1.2.1