[lvm-devel] master - libdm: fix region overlap tests
Bryn Reeves
bmr at fedoraproject.org
Tue Dec 13 10:25:59 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=138e4336fd8422623df7daa362b98a4899f5fbec
Commit: 138e4336fd8422623df7daa362b98a4899f5fbec
Parent: 93f420caf4e58f468919f40a9f3f9c20157affd0
Author: Bryn M. Reeves <bmr at redhat.com>
AuthorDate: Mon Dec 12 22:49:31 2016 +0000
Committer: Bryn M. Reeves <bmr at redhat.com>
CommitterDate: Tue Dec 13 09:09:29 2016 +0000
libdm: fix region overlap tests
---
libdm/libdm-stats.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
index 56a38f2..8c0428e 100644
--- a/libdm/libdm-stats.c
+++ b/libdm/libdm-stats.c
@@ -3880,6 +3880,12 @@ static int _stats_group_check_overlap(const struct dm_stats *dms,
i++;
}
+ /* A single region cannot overlap itself. */
+ if (i == 1) {
+ dm_pool_free(dms->mem, map);
+ return 1;
+ }
+
/* sort by extent.start */
qsort(map, count, sizeof(*map), _extent_start_compare);
@@ -3915,7 +3921,7 @@ merge:
goto merge;
dm_pool_free(dms->mem, map);
- return overlap;
+ return (overlap == 0);
}
static void _stats_copy_histogram_bounds(struct dm_histogram *to,
More information about the lvm-devel
mailing list