diff options
author | Stefan Metzmacher <metze@samba.org> | 2019-02-25 15:35:22 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-03-14 02:12:20 +0000 |
commit | 6d50ee74920c39cdb18b427bfaaf200775bf2d73 (patch) | |
tree | 310d06f060ff06d2a8cdc60e5e7c6a42b9d6e8d4 /python/samba | |
parent | 9afcd5331ce567bd80d35175f8e4e21c506e9347 (diff) | |
download | samba-6d50ee74920c39cdb18b427bfaaf200775bf2d73.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>
Diffstat (limited to 'python/samba')
-rw-r--r-- | python/samba/dbchecker.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/python/samba/dbchecker.py b/python/samba/dbchecker.py index 474d3f35eba..f9a11af9df1 100644 --- a/python/samba/dbchecker.py +++ b/python/samba/dbchecker.py @@ -2401,8 +2401,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 |