summaryrefslogtreecommitdiffstats
path: root/lib/metadata/metadata.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-06-21 12:43:31 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2012-08-23 14:37:52 +0200
commitfd417db274e9a75f33f661b475aeebfd3d9eae45 (patch)
tree0a141abbc4fca181dd8ebd93859a7723caceee0f /lib/metadata/metadata.c
parent15891d366d34fa6ea7235ec803ee0c5445a17101 (diff)
downloadlvm2-fd417db274e9a75f33f661b475aeebfd3d9eae45.tar.gz
lvm2-fd417db274e9a75f33f661b475aeebfd3d9eae45.tar.xz
lvm2-fd417db274e9a75f33f661b475aeebfd3d9eae45.zip
check: add internal errors for unexpected paths
Adding couple INTERNAL_ERROR reports for unwanted parameters: Ensure the 'top' metadata node cannot be NULL for lvmetad. Make obvious vginfo2 cannot be NULL. Report internal error if handler and vg is undefined. Check for handle in poll_vg(). Ensure seg is not NULL in dev_manager_transient(). Report missing read_ahead for _lv_read_ahead_single(). Check for report handler in dm_report_object(). Check missing VG in _vgreduce_single().
Diffstat (limited to 'lib/metadata/metadata.c')
-rw-r--r--lib/metadata/metadata.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index dd029aca..fd13b0a6 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -2221,6 +2221,11 @@ static int _lv_read_ahead_single(struct logical_volume *lv, void *data)
struct lv_segment *seg = first_seg(lv);
uint32_t seg_read_ahead = 0, *read_ahead = data;
+ if (!read_ahead) {
+ log_error(INTERNAL_ERROR "Read ahead data missing.");
+ return 0;
+ }
+
if (seg && seg->area_count && seg_type(seg, 0) == AREA_PV)
dev_get_read_ahead(seg_pv(seg, 0)->dev, &seg_read_ahead);