diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-06-21 12:43:31 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-08-23 14:37:52 +0200 |
commit | fd417db274e9a75f33f661b475aeebfd3d9eae45 (patch) | |
tree | 0a141abbc4fca181dd8ebd93859a7723caceee0f /lib/metadata/metadata.c | |
parent | 15891d366d34fa6ea7235ec803ee0c5445a17101 (diff) | |
download | lvm2-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.c | 5 |
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); |