1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-24 14:50:34 +03:00

report: add report_reset_cmdlog_seqnum and call it for each new cmd executed in lvm shell

This commit is contained in:
Peter Rajnoha 2016-08-08 15:45:46 +02:00
parent 29f7dc2922
commit 5ac008116b
3 changed files with 11 additions and 3 deletions

View File

@ -38,6 +38,9 @@ struct lvm_report_object {
struct label *label;
};
static uint32_t log_seqnum = 1;
/*
* Enum for field_num index to use in per-field reserved value definition.
* Each field is represented by enum value with name "field_<id>" where <id>
@ -3867,9 +3870,7 @@ int report_cmdlog(void *handle, const char *type, const char *context,
const char *object_group_id, const char *msg,
int current_errno, int ret_code)
{
static uint32_t seq_num = 1;
struct cmd_log_item log_item = {seq_num++, type, context, object_type_name,
struct cmd_log_item log_item = {log_seqnum++, type, context, object_type_name,
object_name ? : "", object_id ? : "",
object_group ? : "", object_group_id ? : "",
msg ? : "", current_errno, ret_code};
@ -3880,6 +3881,11 @@ int report_cmdlog(void *handle, const char *type, const char *context,
return 1;
}
void report_reset_cmdlog_seqnum(void)
{
log_seqnum = 1;
}
int report_current_object_cmdlog(const char *type, const char *msg, int32_t ret_code)
{
log_report_t log_state = log_get_report_state();

View File

@ -111,6 +111,7 @@ int report_cmdlog(void *handle, const char *type, const char *context,
const char *object_id, const char *object_group,
const char *object_group_id, const char *msg,
int current_errno, int ret_code);
void report_reset_cmdlog_seqnum(void);
#define REPORT_OBJECT_CMDLOG_NAME "status"
#define REPORT_OBJECT_CMDLOG_SUCCESS "success"
#define REPORT_OBJECT_CMDLOG_FAILURE "failure"

View File

@ -229,6 +229,7 @@ int lvm_shell(struct cmd_context *cmd, struct cmdline_context *cmdline)
log_set_report_object_type(LOG_REPORT_OBJECT_TYPE_CMD);
while (1) {
report_reset_cmdlog_seqnum();
if (cmd->cmd_report.log_rh) {
/*
* If previous command was lastlog, reset log report selection to