Fix serialization/deserialization issues 25/141425/4
authorKonrad Kuchciak <k.kuchciak@samsung.com>
Mon, 31 Jul 2017 09:22:40 +0000 (11:22 +0200)
committerKonrad Kuchciak <k.kuchciak@samsung.com>
Wed, 9 Aug 2017 09:30:54 +0000 (11:30 +0200)
Change-Id: Id51a70f7b73c114ae28fbc4740b4275932060569
Signed-off-by: Konrad Kuchciak <k.kuchciak@samsung.com>
src/event_types/decision_made_event.c
src/event_types/resource_violation_event.c

index 083f2f33a378e91cd6206f28295d7b23a26800d9..f177052378a82b961f180e130d127f8498a19615 100644 (file)
@@ -102,6 +102,7 @@ static void dm_event_serialize(struct faultd_event *ev, struct faultd_object *ou
        assert(!FAULTD_OID_IS_ZERO(dm_ev->reason->oid));
 
        faultd_event_serialize_internal(ev, out);
+       faultd_object_append_oid(out, DM_EV_REASON, &dm_ev->reason->oid);
        faultd_object_append_string(out, DM_EV_WHO, dm_ev->who_made);
        faultd_object_append_string(out, DM_EV_ACTION, dm_ev->action);
        faultd_object_append_object(out, DM_EV_ACTION_DATA, dm_ev->action_data);
index 138d7b8006f530820dc9ade4e8720255248b95d3..5934efb940417e5f8aa632d9fee479299a9dd504 100644 (file)
@@ -40,6 +40,7 @@ static int allocate_rv_event(struct faultd_event_type *type,
        rv_ev->service = rv_ev_data->service;
        rv_ev->detection_time = rv_ev_data->detection_time;
        rv_ev->resource_type = rv_ev_data->resource_type;
+       rv_ev->pid = rv_ev_data->pid;
 
        *ev = &rv_ev->event;
        return 0;
@@ -66,18 +67,18 @@ static int deserialize_rv_event(struct faultd_event_type *type,
                        if (ret < 0)
                                goto finish;
 
-               } else if ((obj->type == TYPE_TIMESPEC) &&
-                                  (strcmp(RV_EV_DTIME, obj->key))) {
+               } else if ((obj->type == TYPE_TIME_T) &&
+                                  (strcmp(RV_EV_DTIME, obj->key) == 0)) {
 
                        rv_ev_data.detection_time = obj->val.time;
 
                } else if ((obj->type == TYPE_INT) &&
-                                  (strcmp(RV_EV_RES_TYPE, obj->key))) {
+                                  (strcmp(RV_EV_RES_TYPE, obj->key) == 0)) {
 
                        rv_ev_data.resource_type = obj->val.i;
 
                } else if ((obj->type == TYPE_INT) &&
-                                  (strcmp(RV_EV_PID, obj->key))) {
+                                  (strcmp(RV_EV_PID, obj->key) == 0)) {
 
                        rv_ev_data.pid = obj->val.i;
 
@@ -143,6 +144,7 @@ static void rv_event_serialize(struct faultd_event *ev, struct faultd_object *ou
        faultd_event_serialize_internal(ev, out);
        systemd_service_serialize(&rv_ev->service, out);
        faultd_object_append_time_t(out, RV_EV_DTIME, rv_ev->detection_time);
+       faultd_object_append_int(out, RV_EV_RES_TYPE, rv_ev->resource_type);
        faultd_object_append_int(out, RV_EV_PID, rv_ev->pid);
 }