summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv_manip.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-02-28 10:08:20 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-02-28 10:08:20 +0000
commit0475b86268597c3d4bcd5bbf20b372c355005bae (patch)
tree60bf3bbb10b991d7b529fddd689df799f2d14c21 /lib/metadata/lv_manip.c
parent6f8bd07b4080372eaef5e5521bba40ecaf93b9d3 (diff)
downloadlvm2-0475b86268597c3d4bcd5bbf20b372c355005bae.tar.gz
lvm2-0475b86268597c3d4bcd5bbf20b372c355005bae.tar.xz
lvm2-0475b86268597c3d4bcd5bbf20b372c355005bae.zip
Explicitely check list size of segments
instead of checking for NULL from last_seg and first_seg.
Diffstat (limited to 'lib/metadata/lv_manip.c')
-rw-r--r--lib/metadata/lv_manip.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 52964229..82f3c65f 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -2093,7 +2093,8 @@ int lv_add_virtual_segment(struct logical_volume *lv, uint64_t status,
}
}
- if ((seg = last_seg(lv)) && (seg->segtype == segtype)) {
+ if (!dm_list_empty(&lv->segments) &&
+ (seg = last_seg(lv)) && (seg->segtype == segtype)) {
seg->area_len += extents;
seg->len += extents;
} else {
@@ -2411,7 +2412,7 @@ static int _lv_insert_empty_sublvs(struct logical_volume *lv,
char img_name[len];
struct lv_segment *mapseg;
- if (lv->le_count || first_seg(lv)) {
+ if (lv->le_count || !dm_list_empty(&lv->segments)) {
log_error(INTERNAL_ERROR
"Non-empty LV passed to _lv_insert_empty_sublv");
return 0;