dbcheck.sh: Remove all the plausible stale links
authorGarming Sam <garming@catalyst.net.nz>
Wed, 13 Jul 2016 22:36:38 +0000 (10:36 +1200)
committerGarming Sam <garming@samba.org>
Fri, 15 Jul 2016 08:01:30 +0000 (10:01 +0200)
This ensures the subsequent dbcheck doesn't fail. The reason these stale
links occur is because they are effectively one-way links at this point
we have no efficient method of checking the opposite end of a one-way
link (without doing a full traversal).

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
testprogs/blackbox/dbcheck.sh

index 1f951e9e89bd519f25c7abb83c61aa2d9e84684c..d926afb8d997c97eebfef5d608b37c891813cce8 100755 (executable)
@@ -22,6 +22,11 @@ dbcheck_fix_one_way_links() {
        $BINDIR/samba-tool dbcheck --quiet --fix --yes fix_all_string_dn_component_mismatch --attrs="lastKnownParent defaultObjectCategory fromServer rIDSetReferences" --cross-ncs $ARGS
 }
 
+# This list of attributes can be freely extended
+dbcheck_fix_stale_links() {
+       $BINDIR/samba-tool dbcheck --quiet --fix --yes remove_plausible_deleted_DN_links --attrs="member" --cross-ncs $ARGS
+}
+
 # This test shows that this does not do anything to a current
 # provision (that would be a bug)
 dbcheck_reset_well_known_acls() {
@@ -41,6 +46,7 @@ force_modules() {
 }
 
 dbcheck_fix_one_way_links
+dbcheck_fix_stale_links
 testit "dbcheck" dbcheck
 testit "reindex" reindex
 testit "fixed_attrs" fixed_attrs