Hi, here is my second version of nvdimm daemon, It would be appreciated if you could check it.
Change log since v1: - Adding a config file(/etc/nvdimmd/nvdimmd.conf) - Using struct log_ctx instead of syslog() - Using log_syslog() to save the notify messages to syslog - Using log_file() to save the notify messages to special file - Adding LOG_NOTICE level into log_priority - Using automake instead of Makefile - Adding a new util file(nvdimmd/util.c) including helper functions needed for nvdimm daemon. - Adding nvdimmd_test program --- This is a patch set of nvdimmd, a tiny daemon to monitor the features of over threshold events. When an over thershold event fires, nvdimmd will output the notification including dimm health status to syslog or a special file to users' configuration. Users can choose the output format to be structured json or text. Here are out put samples. - json format: 2017/11/10 11:15:03 [28065] log_notify: nvdimm dimm over threshold notify { "dev":"nmem1", "id":"cdab-0a-07e0-feffffff", "handle":1, "phys_id":1, "health":{ "health_state":"non-critical", "temperature_celsius":23, "spares_percentage":75, "alarm_temperature":true, "alarm_spares":true, "temperature_threshold":40, "spares_threshold":5, "life_used_percentage":5, "shutdown_state":"clean" } } - text format: 2017/11/10 16:21:53 [12479] log_notify: nvdimm dimm over threshold notify dev: nmem1 health_state: non-critical spares_percentage: 75 TODO list: - The dimms to monitor should be filtered by namespace and region - Add more information into the notify message - Make nvdimmd_test an ndctl command or an option of ndctl inject-error QI Fuli (7): ndctl: nvdimmd: add LOG_NOTICE level into log_priority ndctl: nvdimmd: add nvdimmd necessary util functions ndctl: nvdimmd: add nvdimmd necessary functions ndctl: nvdimmd: add body file of nvdimm daemon ndctl: nvdimmd: add nvdimmd config file ndctl: nvdimmd: add the unit file of systemd for nvdimmd service ndctl: nvdimmd: add a temporary test for nvdimm daemon Makefile.am | 2 +- configure.ac | 1 + nvdimmd/Makefile.am | 47 ++++++++ nvdimmd/libnvdimmd.c | 315 ++++++++++++++++++++++++++++++++++++++++++++++++ nvdimmd/libnvdimmd.h | 53 ++++++++ nvdimmd/nvdimmd.c | 112 +++++++++++++++++ nvdimmd/nvdimmd.conf | 25 ++++ nvdimmd/nvdimmd.service | 7 ++ nvdimmd/nvdimmd_test.c | 142 ++++++++++++++++++++++ nvdimmd/util.c | 80 ++++++++++++ nvdimmd/util.h | 33 +++++ util/log.c | 2 + util/log.h | 3 + 13 files changed, 821 insertions(+), 1 deletion(-) create mode 100644 nvdimmd/Makefile.am create mode 100644 nvdimmd/libnvdimmd.c create mode 100644 nvdimmd/libnvdimmd.h create mode 100644 nvdimmd/nvdimmd.c create mode 100644 nvdimmd/nvdimmd.conf create mode 100644 nvdimmd/nvdimmd.service create mode 100644 nvdimmd/nvdimmd_test.c create mode 100644 nvdimmd/util.c create mode 100644 nvdimmd/util.h -- 2.9.5 _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm