mirror of https://github.com/vitalif/e2fsprogs
libext2fs: build tst_bitmaps with rep invariants checking enabled
When building tst_bitmaps, enable #define DEBUG_RB, so we are always testing the sanity of the in-memory representation of the bitmap when using red-black trees as part of a "make check" run. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>maint-test
parent
3602197449
commit
d954fa407b
|
@ -372,10 +372,11 @@ tst_bitmaps_cmd.c: tst_bitmaps_cmd.ct
|
|||
$(E) " MK_CMDS $@"
|
||||
$(Q) DIR=$(srcdir) $(MK_CMDS) $(srcdir)/tst_bitmaps_cmd.ct
|
||||
|
||||
tst_bitmaps: tst_bitmaps.o tst_bitmaps_cmd.o $(STATIC_LIBEXT2FS) \
|
||||
$(DEPSTATIC_LIBSS) $(DEPSTATIC_LIBCOM_ERR)
|
||||
tst_bitmaps: tst_bitmaps.o tst_bitmaps_cmd.o $(srcdir)/blkmap64_rb.c \
|
||||
$(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBSS) $(DEPSTATIC_LIBCOM_ERR)
|
||||
$(E) " LD $@"
|
||||
$(Q) $(CC) -o $@ tst_bitmaps.o tst_bitmaps_cmd.o $(ALL_CFLAGS) \
|
||||
$(Q) $(CC) -o $@ tst_bitmaps.o tst_bitmaps_cmd.o \
|
||||
-DDEBUG_RB $(srcdir)/blkmap64_rb.c $(ALL_CFLAGS) \
|
||||
$(STATIC_LIBEXT2FS) $(STATIC_LIBSS) $(STATIC_LIBCOM_ERR) \
|
||||
$(SYSLIBS)
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ err_out:
|
|||
}
|
||||
#else
|
||||
#define check_tree(root, msg) do {} while (0)
|
||||
#define print_tree(root, msg) do {} while (0)
|
||||
#define print_tree(root) do {} while (0)
|
||||
#endif
|
||||
|
||||
static void rb_get_new_extent(struct bmap_rb_extent **ext, __u64 start,
|
||||
|
@ -569,11 +569,14 @@ static int rb_remove_extent(__u64 start, __u64 count,
|
|||
static int rb_mark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg)
|
||||
{
|
||||
struct ext2fs_rb_private *bp;
|
||||
int retval;
|
||||
|
||||
bp = (struct ext2fs_rb_private *) bitmap->private;
|
||||
arg -= bitmap->start;
|
||||
|
||||
return rb_insert_extent(arg, 1, bp);
|
||||
retval = rb_insert_extent(arg, 1, bp);
|
||||
check_tree(&bp->root, __func__);
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int rb_unmark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg)
|
||||
|
@ -610,6 +613,7 @@ static void rb_mark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg,
|
|||
arg -= bitmap->start;
|
||||
|
||||
rb_insert_extent(arg, num, bp);
|
||||
check_tree(&bp->root, __func__);
|
||||
}
|
||||
|
||||
static void rb_unmark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg,
|
||||
|
@ -714,11 +718,14 @@ static errcode_t rb_set_bmap_range(ext2fs_generic_bitmap bitmap,
|
|||
|
||||
rb_insert_extent(start + first_set - bitmap->start,
|
||||
i - first_set, bp);
|
||||
check_tree(&bp->root, __func__);
|
||||
first_set = -1;
|
||||
}
|
||||
if (first_set != -1)
|
||||
if (first_set != -1) {
|
||||
rb_insert_extent(start + first_set - bitmap->start,
|
||||
num - first_set, bp);
|
||||
check_tree(&bp->root, __func__);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -799,6 +806,7 @@ static void rb_clear_bmap(ext2fs_generic_bitmap bitmap)
|
|||
bp->rcursor = NULL;
|
||||
bp->rcursor_next = NULL;
|
||||
bp->wcursor = NULL;
|
||||
check_tree(&bp->root, __func__);
|
||||
}
|
||||
|
||||
#ifdef BMAP_STATS
|
||||
|
|
Loading…
Reference in New Issue