diff options
author | ManikandanChockalingam <manikandan.chockalingam@in.bosch.com> | 2018-11-15 13:52:21 +0100 |
---|---|---|
committer | Christoph Lipka <clipka@users.noreply.github.com> | 2018-11-15 13:52:21 +0100 |
commit | 3cfb292aa43774428ce8dfe120fe16785942b086 (patch) | |
tree | 00841761981aead232f5e6995eefde6babaddeb4 /src/console/logstorage | |
parent | 6cbaa4fd39fb584a227b8eb7a3331dcfce54d9a3 (diff) | |
download | DLT-daemon-3cfb292aa43774428ce8dfe120fe16785942b086.tar.gz |
Log storage - Updates (#82)
- improvements and refactor key creation
- Sync strategies added
Signed-off-by: ManikandanC <Manikandan.Chockalingam@in.bosch.com>
Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
Signed-off-by: Ravi Sankar P <ponnurangamravi.sankar@in.bosch.com>
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
Diffstat (limited to 'src/console/logstorage')
-rw-r--r-- | src/console/logstorage/dlt-logstorage-ctrl.c | 22 | ||||
-rw-r--r-- | src/console/logstorage/dlt-logstorage-udev.c | 28 |
2 files changed, 48 insertions, 2 deletions
diff --git a/src/console/logstorage/dlt-logstorage-ctrl.c b/src/console/logstorage/dlt-logstorage-ctrl.c index 227acec..15ccc04 100644 --- a/src/console/logstorage/dlt-logstorage-ctrl.c +++ b/src/console/logstorage/dlt-logstorage-ctrl.c @@ -155,6 +155,8 @@ static int analyze_response(char *data, void *payload, int len) { int ret = -1; char resp_ok[MAX_RESPONSE_LENGTH] = { 0 }; + char resp_warning[MAX_RESPONSE_LENGTH] = { 0 }; + char resp_perm_denied[MAX_RESPONSE_LENGTH] = { 0 }; if (data == NULL || payload == NULL) { @@ -170,10 +172,30 @@ static int analyze_response(char *data, void *payload, int len) "service(%u), ok", DLT_SERVICE_ID_OFFLINE_LOGSTORAGE); + snprintf(resp_warning, + MAX_RESPONSE_LENGTH, + "service(%u), warning", + DLT_SERVICE_ID_OFFLINE_LOGSTORAGE); + + snprintf(resp_perm_denied, + MAX_RESPONSE_LENGTH, + "service(%u), perm_denied", + DLT_SERVICE_ID_OFFLINE_LOGSTORAGE); + if (strncmp(data, resp_ok, strlen(resp_ok)) == 0) { ret = 0; } + if (strncmp(data, resp_warning, strlen(resp_warning)) == 0) + { + pr_error("Warning:Some filter configurations are ignored due to configuration issues \n"); + ret = 0; + } + if (strncmp(data, resp_perm_denied, strlen(resp_perm_denied)) == 0) + { + pr_error("Warning: Permission denied.\n"); + ret = 0; + } pr_verbose("Response received: '%s'\n", data); pr_verbose("Response expected: '%s'\n", resp_ok); diff --git a/src/console/logstorage/dlt-logstorage-udev.c b/src/console/logstorage/dlt-logstorage-udev.c index 355977e..e3584d7 100644 --- a/src/console/logstorage/dlt-logstorage-udev.c +++ b/src/console/logstorage/dlt-logstorage-udev.c @@ -108,6 +108,12 @@ static char *dlt_logstorage_udev_get_mount_point(char *dev_node) { mnt_point = strdup(ent->mnt_dir); + if (mnt_point == NULL) + { + pr_error("Cannot duplicate string.\n"); + return NULL; + } + /* Remounting rw */ if (strlen(mnt_point)) { @@ -162,6 +168,11 @@ static int check_mountpoint_from_partition(int event, struct udev_device *part) } dev_node = strdup(udev_device_get_devnode(part)); + if (dev_node == NULL) + { + pr_error("Cannot allocate memory for to store string\n"); + return -1; + } if (event == EVENT_MOUNTED) { @@ -174,6 +185,7 @@ static int check_mountpoint_from_partition(int event, struct udev_device *part) } else { + free(mnt_point); mnt_point = NULL; } } @@ -222,7 +234,7 @@ static int logstorage_udev_udevd_callback(void) prvt = (LogstorageCtrlUdev *)lctrl->prvt; - if (!prvt || !prvt->mon) + if ((!prvt) || (!prvt->mon)) { pr_error("Not able to get private data.\n"); return -1; @@ -282,6 +294,12 @@ static int logstorage_udev_udevd_callback(void) */ static int dlt_logstorage_udev_check_mounted(struct udev *udev) { + if (udev == NULL) + { + pr_error("%s: udev structure is NULL\n", __func__); + return -1; + } + /* Create a list of the devices in the 'partition' subsystem. */ struct udev_enumerate *enumerate = udev_enumerate_new(udev); struct udev_list_entry *devices = NULL; @@ -300,7 +318,8 @@ static int dlt_logstorage_udev_check_mounted(struct udev *udev) devices = udev_enumerate_get_list_entry(enumerate); /* For each list entry, get the corresponding device */ - udev_list_entry_foreach(dev_list_entry, devices) { + udev_list_entry_foreach(dev_list_entry, devices) + { const char *path; struct udev_device *partition = NULL; @@ -349,6 +368,11 @@ int dlt_logstorage_udev_deinit(void) prvt = (LogstorageCtrlUdev *)lctrl->prvt; + if (prvt == NULL) + { + return -1; + } + if (prvt->mon) { udev_monitor_unref(prvt->mon); |