summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2019-02-25 15:35:22 +0100
committerKarolin Seeger <kseeger@samba.org>2019-04-02 09:10:52 +0000
commit0c2f7224e075538fc0fd70e4405cafc82f037909 (patch)
tree3e070b130f6cfd0dc322169644ef1da0ba6d6b0b /python
parent95f5b9f246a46e5233108251a4122809aa0f1220 (diff)
downloadsamba-0c2f7224e075538fc0fd70e4405cafc82f037909.tar.gz
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 <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> (cherry picked from commit 6d50ee74920c39cdb18b427bfaaf200775bf2d73)
Diffstat (limited to 'python')
-rw-r--r--python/samba/dbchecker.py9
1 files changed, 7 insertions, 2 deletions
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