This is an automated email from the ASF dual-hosted git repository.

vipulrahane pushed a commit to branch vipul/logging_num_entries
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 68bc308b4083b3aa4e17f91ae9426c5921a67512
Author: Vipul Rahane <vipulrah...@apache.org>
AuthorDate: Tue Apr 2 14:30:51 2024 -0700

    Use LOG_VERSION: 3 for number of log entries support
---
 sys/log/full/include/log/log.h | 20 ++------------------
 sys/log/full/src/log.c         | 14 +++-----------
 2 files changed, 5 insertions(+), 29 deletions(-)

diff --git a/sys/log/full/include/log/log.h b/sys/log/full/include/log/log.h
index 1b0309e79..dc0cef7a0 100644
--- a/sys/log/full/include/log/log.h
+++ b/sys/log/full/include/log/log.h
@@ -129,21 +129,11 @@ struct log_handler {
 /* Image hash length to be looged */
 #define LOG_IMG_HASHLEN 4
 
-/* Flags used to indicate type of data in reserved payload*/
-#define LOG_FLAGS_IMG_HASH (1 << 0)
+/* Flags used to indicate type of data in reserved payload */
+#define LOG_FLAGS_IMG_HASH    (1 << 0)
 #define LOG_FLAGS_NUM_ENTRIES (1 << 1)
 
 #if MYNEWT_VAL(LOG_VERSION) == 3
-struct log_entry_hdr {
-    int64_t ue_ts;
-    uint32_t ue_index;
-    uint8_t ue_module;
-    uint8_t ue_level;
-    uint8_t ue_etype : 4;
-    uint8_t ue_flags : 4;
-    uint8_t ue_imghash[4];
-} __attribute__((__packed__));
-#elif MYNEWT_VAL(LOG_VERSION) == 4
 struct log_entry_hdr {
     int64_t ue_ts;
     uint32_t ue_index;
@@ -160,9 +150,7 @@ struct log_entry_hdr {
 
 #define LOG_BASE_ENTRY_HDR_SIZE (15)
 
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
 #define LOG_NUM_ENTRIES_SIZE (sizeof(((struct log *)0)->l_num_entries))
-#endif
 
 #define LOG_MODULE_STR(module)      log_module_get_name(module)
 
@@ -229,9 +217,7 @@ struct log {
 #if !MYNEWT_VAL(LOG_GLOBAL_IDX)
     uint32_t l_idx;
 #endif
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
     uint32_t l_num_entries;
-#endif
 #if MYNEWT_VAL(LOG_STATS)
     STATS_SECT_DECL(logs) l_stats;
 #endif
@@ -786,8 +772,6 @@ log_read_hdr_by_idx(struct log *log, uint32_t idx, struct 
log_entry_hdr *out_hdr
  * @param log The log to get number of entries for
  * @param idx The log index to read number of entries from
  * @param num_entries Ptr to fill up number of entries in log
- *
- * @return 0 on success, non-zero on failure
  */
 int
 log_get_entries(struct log *log, uint32_t idx, uint32_t *entries);
diff --git a/sys/log/full/src/log.c b/sys/log/full/src/log.c
index 68481b2e8..9c19893a5 100644
--- a/sys/log/full/src/log.c
+++ b/sys/log/full/src/log.c
@@ -337,7 +337,6 @@ log_read_hdr_walk(struct log *log, struct log_offset 
*log_offset,
         }
     }
 
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
     if (arg->hdr->ue_flags & LOG_FLAGS_NUM_ENTRIES) {
         rc = log_fill_num_entries(log, dptr, arg->hdr, offset);
         if (!rc || rc == SYS_ENOTSUP) {
@@ -346,7 +345,6 @@ log_read_hdr_walk(struct log *log, struct log_offset 
*log_offset,
             arg->read_success = 0;
         }
     }
-#endif
 
     /* Abort the walk; only one header needed. */
     return 1;
@@ -511,8 +509,6 @@ log_register(const char *name, struct log *log, const 
struct log_handler *lh,
                 log->l_idx = hdr.ue_index + 1;
             }
 #endif
-
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
             /* If this is a persisted log, read the num_entries from its most
              * recent entry. We need to ensure the number of entries are
              * monotonically increasing.
@@ -520,7 +516,6 @@ log_register(const char *name, struct log *log, const 
struct log_handler *lh,
             if (hdr.ue_num_entries >= log->l_num_entries) {
                 log->l_num_entries = hdr.ue_num_entries + 1;
             }
-#endif
             OS_EXIT_CRITICAL(sr);
         }
     }
@@ -544,11 +539,9 @@ log_hdr_len(const struct log_entry_hdr *hdr)
         len += LOG_IMG_HASHLEN;
     }
 
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
     if (hdr->ue_flags & LOG_FLAGS_NUM_ENTRIES) {
         len += LOG_NUM_ENTRIES_SIZE;
     }
-#endif
 
     return len;
 }
@@ -1084,7 +1077,6 @@ log_read_hdr(struct log *log, const void *dptr, struct 
log_entry_hdr *hdr)
         }
     }
 
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
     if (hdr->ue_flags & LOG_FLAGS_NUM_ENTRIES) {
         bytes_read = log_read(log, dptr, &hdr->ue_num_entries,
                               LOG_BASE_ENTRY_HDR_SIZE + bytes_read,
@@ -1093,7 +1085,6 @@ log_read_hdr(struct log *log, const void *dptr, struct 
log_entry_hdr *hdr)
             return SYS_EIO;
         }
     }
-#endif
 
     return 0;
 }
@@ -1148,9 +1139,8 @@ log_flush(struct log *log)
 {
     int rc;
 
-#if MYNEWT_VAL(LOG_FLAGS_NUM_ENTRIES)
     log->l_num_entries = 0;
-#endif
+
     rc = log->l_log->log_flush(log);
     if (rc != 0) {
         goto err;
@@ -1254,6 +1244,8 @@ log_fill_num_entries(struct log *log, const void *dptr,
         return rc;
     }
 #else
+    hdr->ue_num_entries = 0;
+
     return SYS_ENOTSUP;
 #endif
 }

Reply via email to