mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
Move basic reporting functions into libdevmapper.
This commit is contained in:
parent
61997bb9bb
commit
d838a1e314
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.19 -
|
Version 2.02.19 -
|
||||||
===================================
|
===================================
|
||||||
|
Move basic reporting functions into libdevmapper.
|
||||||
Fix partition table processing after sparc changes (2.02.16).
|
Fix partition table processing after sparc changes (2.02.16).
|
||||||
Fix cmdline PE range processing segfault (2.02.13).
|
Fix cmdline PE range processing segfault (2.02.13).
|
||||||
Some libdevmapper-event interface changes.
|
Some libdevmapper-event interface changes.
|
||||||
|
@ -444,7 +444,7 @@ static int _target_register_events(struct cmd_context *cmd,
|
|||||||
return_0;
|
return_0;
|
||||||
|
|
||||||
dm_event_handler_set_dso(dmevh, dso);
|
dm_event_handler_set_dso(dmevh, dso);
|
||||||
dm_event_handler_set_devname(dmevh, name);
|
dm_event_handler_set_dev_name(dmevh, name);
|
||||||
dm_event_handler_set_event_mask(dmevh, DM_EVENT_ALL_ERRORS);
|
dm_event_handler_set_event_mask(dmevh, DM_EVENT_ALL_ERRORS);
|
||||||
if (!dm_event_register_handler(dmevh)) {
|
if (!dm_event_register_handler(dmevh)) {
|
||||||
dm_event_handler_destroy(dmevh);
|
dm_event_handler_destroy(dmevh);
|
||||||
@ -481,7 +481,7 @@ static int _target_unregister_events(struct cmd_context *cmd,
|
|||||||
return_0;
|
return_0;
|
||||||
|
|
||||||
dm_event_handler_set_dso(dmevh, dso);
|
dm_event_handler_set_dso(dmevh, dso);
|
||||||
dm_event_handler_set_devname(dmevh, name);
|
dm_event_handler_set_dev_name(dmevh, name);
|
||||||
dm_event_handler_set_event_mask(dmevh, DM_EVENT_ALL_ERRORS);
|
dm_event_handler_set_event_mask(dmevh, DM_EVENT_ALL_ERRORS);
|
||||||
if (!dm_event_unregister_handler(dmevh)) {
|
if (!dm_event_unregister_handler(dmevh)) {
|
||||||
dm_event_handler_destroy(dmevh);
|
dm_event_handler_destroy(dmevh);
|
||||||
|
1181
lib/report/report.c
1181
lib/report/report.c
File diff suppressed because it is too large
Load Diff
@ -16,6 +16,7 @@
|
|||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
#include "lvm2cmdline.h"
|
#include "lvm2cmdline.h"
|
||||||
#include "label.h"
|
#include "label.h"
|
||||||
|
#include "memlock.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
#include "lvm2cmd.h"
|
#include "lvm2cmd.h"
|
||||||
|
@ -25,7 +25,7 @@ static int _vgs_single(struct cmd_context *cmd __attribute((unused)),
|
|||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!report_object(handle, vg, NULL, NULL, NULL, NULL))
|
if (!report_object(handle, vg, NULL, NULL, NULL, NULL));
|
||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
|
|
||||||
check_current_backup(vg);
|
check_current_backup(vg);
|
||||||
@ -39,7 +39,7 @@ static int _lvs_single(struct cmd_context *cmd, struct logical_volume *lv,
|
|||||||
if (!arg_count(cmd, all_ARG) && !lv_is_visible(lv))
|
if (!arg_count(cmd, all_ARG) && !lv_is_visible(lv))
|
||||||
return ECMD_PROCESSED;
|
return ECMD_PROCESSED;
|
||||||
|
|
||||||
if (!report_object(handle, lv->vg, lv, NULL, NULL, NULL))
|
if (!report_object(handle, lv->vg, lv, NULL, NULL, NULL));
|
||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
|
|
||||||
return ECMD_PROCESSED;
|
return ECMD_PROCESSED;
|
||||||
@ -48,7 +48,7 @@ static int _lvs_single(struct cmd_context *cmd, struct logical_volume *lv,
|
|||||||
static int _segs_single(struct cmd_context *cmd __attribute((unused)),
|
static int _segs_single(struct cmd_context *cmd __attribute((unused)),
|
||||||
struct lv_segment *seg, void *handle)
|
struct lv_segment *seg, void *handle)
|
||||||
{
|
{
|
||||||
if (!report_object(handle, seg->lv->vg, seg->lv, NULL, seg, NULL))
|
if (!report_object(handle, seg->lv->vg, seg->lv, NULL, seg, NULL));
|
||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
|
|
||||||
return ECMD_PROCESSED;
|
return ECMD_PROCESSED;
|
||||||
@ -78,7 +78,7 @@ static int _pvsegs_sub_single(struct cmd_context *cmd, struct volume_group *vg,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!report_object(handle, vg, NULL, pv, NULL, pvseg))
|
if (!report_object(handle, vg, NULL, pv, NULL, pvseg));
|
||||||
ret = ECMD_FAILED;
|
ret = ECMD_FAILED;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@ -128,7 +128,7 @@ static int _pvs_single(struct cmd_context *cmd, struct volume_group *vg,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!report_object(handle, vg, NULL, pv, NULL, NULL))
|
if (!report_object(handle, vg, NULL, pv, NULL, NULL));
|
||||||
ret = ECMD_FAILED;
|
ret = ECMD_FAILED;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@ -262,6 +262,26 @@ static int _report(struct cmd_context *cmd, int argc, char **argv,
|
|||||||
headings)))
|
headings)))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* Ensure options selected are compatible */
|
||||||
|
if (report_type & SEGS)
|
||||||
|
report_type |= LVS;
|
||||||
|
if (report_type & PVSEGS)
|
||||||
|
report_type |= PVS;
|
||||||
|
if ((report_type & LVS) && (report_type & PVS)) {
|
||||||
|
log_error("Can't report LV and PV fields at the same time");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Change report type if fields specified makes this necessary */
|
||||||
|
if (report_type & SEGS)
|
||||||
|
report_type = SEGS;
|
||||||
|
else if (report_type & LVS)
|
||||||
|
report_type = LVS;
|
||||||
|
else if (report_type & PVSEGS)
|
||||||
|
report_type = PVSEGS;
|
||||||
|
else if (report_type & PVS)
|
||||||
|
report_type = PVS;
|
||||||
|
|
||||||
switch (report_type) {
|
switch (report_type) {
|
||||||
case LVS:
|
case LVS:
|
||||||
r = process_each_lv(cmd, argc, argv, LCK_VG_READ, report_handle,
|
r = process_each_lv(cmd, argc, argv, LCK_VG_READ, report_handle,
|
||||||
@ -285,9 +305,9 @@ static int _report(struct cmd_context *cmd, int argc, char **argv,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
report_output(report_handle);
|
dm_report_output(report_handle);
|
||||||
|
|
||||||
report_free(report_handle);
|
dm_report_free(report_handle);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user