diff options
author | Saya Sugiura <ssugiura@jp.adit-jv.com> | 2019-02-19 13:52:18 +0900 |
---|---|---|
committer | Saya Sugiura <ssugiura@jp.adit-jv.com> | 2019-06-18 17:22:09 +0900 |
commit | 711c9b884cf8f869511b31133dc9f7959c9ab843 (patch) | |
tree | 4fb8b154d916d43b4da890f2b0f1d623edbe8349 /src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h | |
parent | b049b408f7b15ef5ecdc71723812f43161d25ce8 (diff) | |
download | DLT-daemon-711c9b884cf8f869511b31133dc9f7959c9ab843.tar.gz |
Logstorage: Sync behavior bug fix
This commit fixes couple of unexpected behavior on Logstorage sync behavior.
- A log file is created only if necessary to avoid creating an empty log file.
- The cache is synced with the condition:
1) When the ring buffer is not wrapped around, the cache is synced from
last sync offset to current offset
2) When the ring buffer is wrapped around for first time and current offset
is smaller than last sync offset, the cache is synced from last sync
offset to end sync offset, and then from beginning to current offset
3) Otherwise, the cache is synced from offset where the log message starts
to end sync offset, and then from beginning to current offset
Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
Diffstat (limited to 'src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h')
-rw-r--r-- | src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h b/src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h index 6ddf21e..a9d6d7d 100644 --- a/src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h +++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior_internal.h @@ -72,23 +72,19 @@ int dlt_logstorage_open_log_file(DltLogStorageFilterConfig *config, char *dev_path, int msg_size); -DLT_STATIC DltReturnValue dlt_logstorage_sync_create_new_file( - DltLogStorageFilterConfig *config, - DltLogStorageUserConfig *file_config, - char *dev_path, - unsigned int remain_file_size); - -DLT_STATIC DltReturnValue dlt_logstorage_sync_to_file( - DltLogStorageFilterConfig *config, - DltLogStorageUserConfig *file_config, - char *dev_path); - -DLT_STATIC DltReturnValue dlt_logstorage_sync_capable_data_to_file( - DltLogStorageFilterConfig *config, - int index_status); +DLT_STATIC int dlt_logstorage_sync_to_file(DltLogStorageFilterConfig *config, + DltLogStorageUserConfig *file_config, + char *dev_path, + DltLogStorageCacheFooter *footer, + unsigned int start_offset, + unsigned int end_offset); DLT_STATIC int dlt_logstorage_find_dlt_header(void *ptr, unsigned int offset, unsigned int cnt); +DLT_STATIC int dlt_logstorage_find_last_dlt_header(void *ptr, + unsigned int offset, + unsigned int cnt); + #endif /* DLT_OFFLINELOGSTORAGE_BEHAVIOR_INTERNAL_H_ */ |