# # SPDX-FileCopyrightText: (C) 2017-2024 Red Hat, Inc. # # SPDX-License-Identifier: GPL-2.0-or-later # #global commit 13a0dd86874b5d7558a0e131f3deaa42cd7d9d23 %{?commit:%global shortcommit %(c=%{commit}; echo ${c:0:7})} %{?commit:%global commitdate 20200828} %{?commit:%global scmsnap %{commitdate}git%{shortcommit}} %global enable_mod_dummies 1 %global enable_mod_block_blkid 1 %global enable_mod_block_dm_mpath 1 %global enable_mod_type_dm 1 %global enable_mod_type_dm__lvm 1 ############################################################################## # SID ############################################################################## Name: sid %if 0%{?rhel} Epoch: %{rhel} %endif Version: 0.0.6 Release: 1.20241107134550628034.main.317.g0b077f3%{?dist} Summary: Storage Instantiation Daemon (SID) License: GPL-2.0-or-later URL: http://sid-project.github.io %if %{defined commit} Source0: sid-0.0.6.tar.gz %else Source0: https://github.com/sid-project/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz %endif BuildRequires: autoconf BuildRequires: automake BuildRequires: gperf BuildRequires: libtool BuildRequires: multilib-rpm-config BuildRequires: gcc BuildRequires: systemd-rpm-macros BuildRequires: systemd-devel >= 221 BuildRequires: libudev-devel >= 174 BuildRequires: libuuid-devel %if %{enable_mod_block_blkid} BuildRequires: libblkid-devel %endif %if %{enable_mod_block_dm_mpath} BuildRequires: device-mapper-multipath-devel >= 0.8.4-7 %endif Requires: systemd Requires: systemd-udev Requires: %{name}-resource-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: %{name}-tools = %{?epoch}:%{version}-%{release} %description Storage Instantiation Daemon (SID) aims to help with Linux storage device state tracking that encompasses device layers, groups and whole stacks by monitoring progression of events. Based on monitored states and further recorded information, it is able to trigger associated actions for well-defined triggers, including activation and deactivation of devices and their layers in the stack. %prep %if %{defined commit} %autosetup -p1 -n sid-0.0.6 %else %autosetup -p1 -n sid-%{version} %endif %if %{enable_mod_block_blkid} %global configure_mod_block_blkid --enable-mod-block-blkid %else %global configure_mod_block_dm_mpath --disable-mod-block-blkid %endif %if %{enable_mod_block_dm_mpath} %global configure_mod_block_dm_mpath --enable-mod-block-dm_mpath %else %global configure_mod_block_dm_mpath --disable-mod-block-dm_mpath %endif %if %{enable_mod_type_dm} %global configure_mod_type_dm --enable-mod-type-dm %else %global configure_mod_type_dm --disable-mod-type-dm %endif %if %{enable_mod_type_dm__lvm} %global configure_mod_type_dm__lvm --enable-mod-type-dm-lvm %else %global configure_mod_type_dm__lvm --disable-mod-type-dm-lvm %endif %if %{enable_mod_dummies} %global configure_mod_dummies --enable-mod-block-dummy --enable-mod-type-dummy %else %global configure_mod_dummies --disable-mod-block-dummy --disable-mod-type-dummy %endif %build autoreconf -ivf %configure %{?configure_mod_block_blkid} %{?configure_mod_block_dm_mpath} %{?configure_mod_type_dm} %{?configure_mod_type_dm__lvm} %{?configure_mod_dummies} %make_build %install make DESTDIR=%{buildroot} install rm -f %{buildroot}/%{_libdir}/sid/*.{a,la} rm -f %{buildroot}/%{_libdir}/sid/modules/ucmd/block/*.{a,la} rm -f %{buildroot}/%{_libdir}/sid/modules/ucmd/type/*.{a,la} rm -f %{buildroot}/%{_libdir}/sid/modules/ucmd/type/dm/*.{a,la} %files %license LICENSES/GPL-2.0-or-later.txt LICENSES/BSD-3-Clause.txt LICENSES/FSFAP.txt LICENSES/FSFAP-no-warranty-disclaimer.txt LICENSES/CC0-1.0.txt %{_sbindir}/sid %config(noreplace) %{_sysconfdir}/sysconfig/sid.sysconfig %{_udevrulesdir}/00-sid.rules %{_unitdir}/sid.socket %{_unitdir}/sid.service %{_mandir}/man8/sid.8.gz %doc README.md %post %systemd_post sid.socket sid.service %preun %systemd_preun sid.service sid.socket %postun %systemd_postun sid.service sid.socket ############################################################################## # SID-BASE-LIBS ############################################################################## %package base-libs Summary: Libraries for Storage Instantiation Daemon (SID) base License: GPL-2.0-or-later AND BSD-3-Clause %description base-libs This package contains shared libraries with low-level functionality needed for Storage Instantiation Daemon (SID), its modules and related tools. Currently, it contains basic support for buffering, IPC, base64 encoding and other helper functions. %files base-libs %dir %{_libdir}/sid %{_libdir}/sid/libsidbase.so.* %doc README.md ############################################################################## # SID-BASE-LIBS-DEVEL ############################################################################## %package base-libs-devel Summary: Development files for Storage Instantiation Daemon (SID) base License: GPL-2.0-or-later AND BSD-3-Clause Requires: %{name}-base-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description base-libs-devel This package contains development files for Storage Instantiation Daemon (SID) base libraries. %files base-libs-devel %dir %{_libdir}/sid %{_libdir}/sid/libsidbase.so %dir %{_includedir}/sid %dir %{_includedir}/sid/base %{_includedir}/sid/base/buf-common.h %{_includedir}/sid/base/buf-type.h %{_includedir}/sid/base/buf.h %{_includedir}/sid/base/comms.h %{_includedir}/sid/base/conv.h %{_includedir}/sid/base/conv-base64.h %{_includedir}/sid/base/util.h %doc README.md ############################################################################## # SID-INTERNAL-LIBS ############################################################################## %package internal-libs Summary: Development files for Storage Instantiation Daemon (SID) internal License: GPL-2.0-or-later AND BSD-3-Clause Requires: %{name}-base-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description internal-libs This package contains shared libraries with low-level functionality needed for Storage Instantiation Daemon (SID) and its modules. Currently, it contains basic support for bitmaps, hashing, lists, memory handling and other helper functions. %files internal-libs %dir %{_libdir}/sid %{_libdir}/sid/libsidinternal.so.* %doc README.md ############################################################################## # SID-INTERNAL-LIBS-DEVEL ############################################################################## %package internal-libs-devel Summary: Development files for Storage Instantiation Daemon (SID) internal License: GPL-2.0-or-later AND BSD-3-Clause Requires: %{name}-internal-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description internal-libs-devel This package contains development files for Storage Instantiation Daemon (SID) internal libraries. %files internal-libs-devel %dir %{_includedir}/sid/internal %{_includedir}/sid/internal/bmp.h %{_includedir}/sid/internal/bptree.h %{_includedir}/sid/internal/common.h %{_includedir}/sid/internal/comp-attrs.h %{_includedir}/sid/internal/fmt.h %{_includedir}/sid/internal/hash.h %{_includedir}/sid/internal/list.h %{_includedir}/sid/internal/mem.h %{_includedir}/sid/internal/util.h %{_libdir}/sid/libsidinternal.so ############################################################################## # SID-LOG-LIBS ############################################################################## %package log-libs Summary: Libraries for Storage Instantiation Daemon (SID) logging License: GPL-2.0-or-later %description log-libs This package contains shared libraries with logging support needed for Storage Instantiation daemon (SID), its modules and related tools. %files log-libs %dir %{_libdir}/sid %{_libdir}/sid/libsidlog.so.* %doc README.md ############################################################################## # SID-LOG-LIBS-DEVEL ############################################################################## %package log-libs-devel Summary: Development files for Storage Instantiation Daemon (SID) logging License: GPL-2.0-or-later Requires: %{name}-log-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description log-libs-devel This package contains development files for Storage Instantiation Daemon (SID) logging libraries. %files log-libs-devel %dir %{_libdir}/sid %{_libdir}/sid/libsidlog.so %dir %{_includedir}/sid %dir %{_includedir}/sid/log %{_includedir}/sid/log/log.h %doc README.md ############################################################################## # SID-IFACE-LIBS ############################################################################## %package iface-libs Summary: Libraries for Storage Instantiation Daemon (SID) interfaces License: GPL-2.0-or-later Requires: %{name}-internal-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: %{name}-log-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description iface-libs This package contains shared libraries to support interfaces used in Storage Instantiation Daemon (SID), its modules and related tools. %files iface-libs %dir %{_libdir}/sid %{_libdir}/sid/libsidiface_servicelink.so.* %{_libdir}/sid/libsidiface.so.* %doc README.md ############################################################################## # SID-IFACE-LIBS-DEVEL ############################################################################## %package iface-libs-devel Summary: Development files for Storage Instantiation Daemon (SID) interfaces License: GPL-2.0-or-later Requires: %{name}-iface-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description iface-libs-devel This package contains development files for Storage Instantiation Daemon (SID) interface libraries. %files iface-libs-devel %dir %{_libdir}/sid %{_libdir}/sid/libsidiface_servicelink.so %{_libdir}/sid/libsidiface.so %dir %{_includedir}/sid %dir %{_includedir}/sid/iface %{_includedir}/sid/iface/srv-lnk.h %{_includedir}/sid/iface/ifc.h %{_includedir}/sid/iface/ifc-internal.h %doc README.md ############################################################################## # SID-RESOURCE-LIBS ############################################################################## %package resource-libs Summary: Libraries for Storage Instantiation Daemon (SID) resources License: GPL-2.0-or-later Requires: %{name}-internal-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: %{name}-iface-libs%{?_isa} = %{?epoch}:%{version}-%{release} # Systemd supports event loop since v221 Requires: systemd-libs >= 221 %description resource-libs This package contains shared libraries to support high-level resources that represent hierarchical units of reusable code used in Storage Instantiation Daemon (SID), its modules and related tools. Currently, it contains support for aggregation, key-value store, module loading and registry, worker process control, bridging SID core and udev and creating an instance of SID as a whole. %files resource-libs %dir %{_libdir}/sid %{_libdir}/sid/libsidresource.so.* %doc README.md ############################################################################## # SID-RESOURCE-LIBS-DEVEL ############################################################################## %package resource-libs-devel Summary: Development files for Storage Instantiation Daemon (SID) resources License: GPL-2.0-or-later Requires: %{name}-resource-libs%{?_isa} = %{?epoch}:%{version}-%{release} %description resource-libs-devel This package contains development files for Storage Instantiation Daemon (SID) resource libraries. %files resource-libs-devel %dir %{_libdir}/sid %{_libdir}/sid/libsidresource.so %dir %{_includedir}/sid %dir %{_includedir}/sid/resource %{_includedir}/sid/resource/kvs.h %{_includedir}/sid/resource/mod-reg.h %{_includedir}/sid/resource/mod.h %{_includedir}/sid/resource/res-type-regs.h %{_includedir}/sid/resource/res.h %{_includedir}/sid/resource/ucmd-mod.h %{_includedir}/sid/resource/ubr.h %{_includedir}/sid/resource/wrk-ctl.h %doc README.md ############################################################################## # SID-TOOLS ############################################################################## %package tools Summary: Storage Instantiation Daemon (SID) supporting tools Requires: %{name}-iface-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: systemd-udev %description tools This package contains tools to support Storage Instantiation Daemon (SID). %files tools %{_sbindir}/sidctl %{_udevrulesdir}/../usid %doc README.md ############################################################################## # SID-MOD-DUMMIES ############################################################################## %if %{enable_mod_dummies} %package mod-dummies Summary: Dummy block and type module for Storage Instantiation Daemon (SID) Requires: %{name} = %{?epoch}:%{version}-%{release} %description mod-dummies This package contains dummy block and type modules for Storage Instantiation Daemon (SID). Their only purpose is to test SID module functionality and hook execution. %files mod-dummies %dir %{_libdir}/sid %dir %{_libdir}/sid/modules/ %dir %{_libdir}/sid/modules/ucmd %dir %{_libdir}/sid/modules/ucmd/block %dir %{_libdir}/sid/modules/ucmd/type %{_libdir}/sid/modules/ucmd/block/dummy_block.so %{_libdir}/sid/modules/ucmd/type/dummy_type.so %doc README.md %endif ############################################################################## # SID-MOD-BLOCK-BLKID ############################################################################## %if %{enable_mod_block_blkid} %package mod-block-blkid Summary: Blkid block module for Storage Instantiation Daemon (SID) Requires: %{name} = %{?epoch}:%{version}-%{release} %description mod-block-blkid This package contains blkid block module for Storage Instantiation Daemon (SID). %files mod-block-blkid %dir %{_libdir}/sid %dir %{_libdir}/sid/modules %dir %{_libdir}/sid/modules/ucmd %dir %{_libdir}/sid/modules/ucmd/block %{_libdir}/sid/modules/ucmd/block/blkid.so %doc README.md %endif ############################################################################## # SID-MOD-BLOCK-DM_MPATH ############################################################################## %if %{enable_mod_block_dm_mpath} %package mod-block-dm-mpath Summary: Device-mapper multipath block module for Storage Instantiation Daemon (SID) Requires: %{name} = %{?epoch}:%{version}-%{release} Requires: device-mapper-multipath-libs >= 0.8.4-7 %description mod-block-dm-mpath This package contains device-mapper multipath block module for Storage Instantiation Daemon (SID). %files mod-block-dm-mpath %dir %{_libdir}/sid %dir %{_libdir}/sid/modules %dir %{_libdir}/sid/modules/ucmd %dir %{_libdir}/sid/modules/ucmd/block %{_libdir}/sid/modules/ucmd/block/dm_mpath.so %doc README.md %endif ############################################################################## # SID-MOD-TYPE-DM ############################################################################## %if %{enable_mod_type_dm} %package mod-type-dm Summary: Device-mapper type module for Storage Instantiation Daemon (SID) Requires: %{name} = %{?epoch}:%{version}-%{release} %description mod-type-dm This package contains device-mapper type module for Storage Instantiation Daemon (SID). %files mod-type-dm %dir %{_libdir}/sid %dir %{_libdir}/sid/modules %dir %{_libdir}/sid/modules/ucmd %dir %{_libdir}/sid/modules/ucmd/type %dir %{_libdir}/sid/modules/ucmd/type/dm %{_libdir}/sid/modules/ucmd/type/dm.so %doc README.md %endif ############################################################################## # SID-MOD-TYPE-DM-LVM ############################################################################## %if %{enable_mod_type_dm__lvm} %package mod-type-dm-lvm Summary: LVM type module for Storage Instantiation Daemon (SID) Requires: %{name} = %{?epoch}:%{version}-%{release} Requires: %{name}-mod-type-dm%{?_isa} = %{?epoch}:%{version}-%{release} %description mod-type-dm-lvm This package contains LVM type module for Storage Instantiation Daemon (SID). %files mod-type-dm-lvm %{_libdir}/sid/modules/ucmd/type/dm/lvm.so %doc README.md %endif %changelog * Thu Nov 07 2024 Packit - 0.0.6-1.20241107134550628034.main.317.g0b077f3 - res: ubr: fix possible uninitialized read of key in _do_sid_ucmd_kv_set (Peter Rajnoha) - res: ubr: res: ubr: fix possible uninitialized value and unused assignment (Peter Rajnoha) - res: kvs: check 'args' param first in sid_kvs_{set,get,unset} and return -EINVAL if NULL (Peter Rajnoha) - mods: ucmd: replace sid_ucmd_kv_get{,_foreign_mod,foreign_dev,foreign_devmod} with sid_ucmd_kv_va_get (Peter Rajnoha) - res: ucmd-mod: replace sid_ucmd_kv_get_foreign_{mod,dev,devmod} with sid_ucmd_kv_get (Peter Rajnoha) - mods: ucmd: replace sid_ucmd_kv_set with sid_ucmd_kv_va_set (Peter Rajnoha) - res: ucmd-mod: add struct sid_ucmd_kv_set_args and use for sid_ucmd_kv_set (Peter Rajnoha) - res: kvs: add struct sid_kvs_{set,get,unset}_args and use in sid_kvs_{set,get,unset} (Peter Rajnoha) - res: ubr: also execute cleanup path on CMD_STATE_ERR (Peter Rajnoha) - res: wrk-ctl: print more detailed error message on failed execve (Peter Rajnoha) - res: kvs: remove superfluous struct sid_kvs_{hash,bptree}_backend_params (Peter Rajnoha) - ci: use official REUSE check action (Peter Rajnoha) - res: add SID_RES_SRV_LNK_DEF and SID_RES_SRV_LNK_DEF_ARRAY (Peter Rajnoha) - res: mod-reg: add SID_MOD_SYM_PARAMS and SID_MOD_SYM_PARAMS_ARRAY (Peter Rajnoha) - res: mod_reg: fix comments about flags (Peter Rajnoha) - res: wrk-ctl: add SID_WRK_CHAN_SPEC_ARRAY (Peter Rajnoha) - res: ubr: add KV_UPDATE_ARG (Peter Rajnoha) - res: ubr: add KV_REL_SPEC (Peter Rajnoha) - res: ubr: add SID_MSG (Peter Rajnoha) - ifc: add SID_IFC_MSG_HEADER (Peter Rajnoha) - res: ubr: add KV_DELTA (Peter Rajnoha) - res: ubr: add KV_KEY_SPEC (Peter Rajnoha) - mods: ucmd: dm/lvm: add OUT_CTX (Peter Rajnoha) - wrk-ctl: add SID_WRK_{INIT_CB,WIRE,DATA,LANE_CB,LANE,CHAN,TIMEOUT}_SPEC and SID_WRK_PARAMS (Peter Rajnoha) - buf: add SID_BUF_{SPEC,INIT} (Peter Rajnoha) - ifc: add missing return value checks and formatting cleanup (Peter Rajnoha) - global: explicitly mark uninterest in return value from munmap calls (Peter Rajnoha) - global: explicitly mark uninterest in return value from close calls (Peter Rajnoha) - buf: add sanity checks for sid_buf_{create,reset_init,unbind_mem,rewind_mem} args (Peter Rajnoha) - buf: vector: return -errno for failed munmap during buffer destroy (Peter Rajnoha) - buf: linear: return -errno for failed munmap during buffer destroy (Peter Rajnoha) - daemon: sid: also fork second time to never reacquire the terminal (Peter Rajnoha) - daemon: sid: add comment about pthread_atfork's _set_log_prefix callback (Peter Rajnoha) - daemon: sid: also log error number for failed pthread_atfork (Peter Rajnoha) - global: remove superfluous check for null value before sid_res_unref (Peter Rajnoha) - res: also accept null value for sid_res_unref (Peter Rajnoha) - daemon: sid: add missing return value checks and other cleanups (Peter Rajnoha) - ci: edit test names (Peter Rajnoha) - ci: reuse: fix formatting (Peter Rajnoha) - ci: reuse: install reuse using pip (Peter Rajnoha) - rpm: spec: add all licenses (Peter Rajnoha) - ci: always run on ubuntu-latest (Peter Rajnoha) - ci: add license check with reuse (Peter Rajnoha) - global: license: add missing bits for complete license coverage (Peter Rajnoha) - gitignore: update (Peter Rajnoha) - global: license: convert existing headers to SPDX and add missing ones (Peter Rajnoha) - debug: update valgrind.supp (Peter Rajnoha) - debug: update valgrind.supp (Peter Rajnoha) - debug: add valgrind.supp (Peter Rajnoha) - debug: update aliases.sh (Peter Rajnoha) - debug: update gdbinit (Peter Rajnoha) - tools: usid: call sid_ifc_rsl_free unconditionally (Peter Rajnoha) - ifc: rename ifc_internal.h to ifc-internal.h (Peter Rajnoha) - rpm: spec: add conv-base64.h (Peter Rajnoha) - ci: update csmock-kfp.js (Peter Rajnoha) - base: properly separate conv_base64 out of conv (Peter Rajnoha) - global: refactor: shorten file, structure and function names (Peter Rajnoha) - res: ubr: fix cmd state machine for different order of resbuf and expbuf (Peter Rajnoha) - debug: update gdbinit (Peter Rajnoha) - res: ubr: fix _send_out_cmd_expbuf to return -ENODATA if expbuf empty (Peter Rajnoha) - res: ubr: properly error out with warning on lost connection (Peter Rajnoha) - mods: ucmd: dm: also handle cookie for remove event (Peter Rajnoha) - res: ubr: fix cmd handler to not expect expbuf ack if empty (Peter Rajnoha) - res: ubr: properly error out with warning on lost connection (Peter Rajnoha) - res: ubr: fix setting of #MOD variable for current device (Peter Rajnoha) - res: ucmd-module: call block modules in reverse order for exit phases (Peter Rajnoha) - res: ucmd-module: call type mod first, then block mods for exit phases (Peter Rajnoha) - mods: ucmd: dm: add missing submodule phase handler calls (Peter Rajnoha) - mods: ucmd: dm: factor out code to handle scan init and use for scan_a_init and scan_remove phase (Peter Rajnoha) - res: ubr: allow setting reserved state in remove_init phase (Peter Rajnoha) - res: ubr: allow setting ready state in remove_init phase (Peter Rajnoha) - res: ubr: factor out code to handle scan init and use for scan_a_init and scan_remove_init (Peter Rajnoha) - res: ubr: also set basic dev KV records in _cmd_exec_scan_remove_init if not already set (Peter Rajnoha) - res: ubr: make devid naming consistent (Peter Rajnoha) - res: ubr: use _get_mod_name in _cmd_exec_scan_remove_init (Peter Rajnoha) - res: ubr: factor out base module detection code to _get_base_mod_name (Peter Rajnoha) - res: ucmd-module: reduce API for dev alias queries to sid_ucmd_dev_alias_get and sid_ucmd_dev_alias_get_foreign_dev (Peter Rajnoha) - res: ucmd-module: return count=0 when sid_ucmd_dev_alias_get_* param check fails (Peter Rajnoha) - res: ucmd-module: more sanity checks for sid_ucmd_dev_alias_get_* params (Peter Rajnoha) - res: ucmd-module: get all aliases if NULL mod name given for sid_ucmd_dev_alias_get_foreign_{mod,dev_mod} (Peter Rajnoha) - res: ucmd-module: check foreign_dev_id/foreign_dev_mod is not empty in sid_ucmd_dev_alias_get_foreign_* (Peter Rajnoha) - res: ucmd-module: add sid_ucmd_dev_alias_get and sid_ucmd_dev_alias_get_foreign_{dev,mod,dev_mod} variants (Peter Rajnoha) - res: ucmd-module: rename sid_ucmd_dev_*_alias -> sid_ucmd_dev_alias_* (Peter Rajnoha) - res: ubr: remove extra underscore in _KEY_PART_START (Peter Rajnoha) - make: iface: remove trailing backslash (Peter Rajnoha) - make: iface: remove duplicate service-link.h HEADERS association (Peter Rajnoha) - log: remove dependency on internal library (Peter Rajnoha) - mods: ucmd: dm: fix typo in error message when KV unreserve fails (Peter Rajnoha) - mods: ucmd: dm/lvm: export component names to udev (Peter Rajnoha) - mods: ucmd: dm: execute submodule for scan_a_init (Peter Rajnoha) - res: ucmd-module: use const for value returned by sid_ucmd_kv_set (Peter Rajnoha) - res: ubr: fix value flags when updating absolute delta vectors (Peter Rajnoha) - res: ubr: simplify check after applying delta vector while syncing (Peter Rajnoha) - tests: db_sync: adapt test_subtract_missing to recent changes (Peter Rajnoha) - res: ubr: unset empty vector value during syncing in main process (Peter Rajnoha) - internal: formatter: also print string arrays with 'env' format (Peter Rajnoha) - res: ubr: print kv store record flags as array of named flags (Peter Rajnoha) - res: ubr: do not send empty abs delta vectors for syncing with main kv store (Peter Rajnoha) - res: ubr: _delta_update cleanup - early return to avoid big 'if' code block (Peter Rajnoha) - res: ubr: fix missing update of absolute deltas on mixed operations within a snapshot (Peter Rajnoha) - res: ucmd-module: add sid_ucmd_dev_rename_alias (Peter Rajnoha) - res: ubr: move _do_sid_ucmd_group_destroy so it's defined before sid_ucmd_dev_*_alias fns (Peter Rajnoha) - res: ubr: rework _handle_dev_for_group to handle several devices at once (Peter Rajnoha) - res: ubr: also add SID_KV_FL_RD flag for core records (Peter Rajnoha) - res: ubr: also handle vectors with _cmd_get_key_spec_value (Peter Rajnoha) - res: ucmd-module: rename sid_ucmd_ev_dev_get_* -> sid_ucmd_ev_get_dev_* (Peter Rajnoha) - res: ubr: clang-format (Peter Rajnoha) - res: ubr: fix failure to remove a group using sid_ucmd_grp_destroy (Peter Rajnoha) - res: kvs: add sid_kvs_iter_reset_prefix (Peter Rajnoha) - internal: bptree: add bptree_reset_prefix (Peter Rajnoha) - res: ubr: shorten field names in struct sid_ucmd_common_ctx (Peter Rajnoha) - mods: ucmd: dm: fix typo in sid_ucmd_dev_set_ready (Peter Rajnoha) - mods: ucmd: dm: override cookie flags base on actual ready state in a-exit (Peter Rajnoha) - mods: ucmd: dm: remove superfluous check for CHANGE event type in scan-pre if cookie present (Peter Rajnoha) - mods: ucmd: dm: fix check in scan-pre for synthetic uevent while in SID_DEV_RDY_UNCONFIGURED state (Peter Rajnoha) - global: naming consolidation (Peter Rajnoha) - base: util: check provided buffer len fits ssize_t in sid_util_fd_read_all (Peter Rajnoha) - res: ucmd-module: rename alias_cat to alias_key and alias_id to alias for sid_ucmd_dev_alias_{add,remove} (Peter Rajnoha) - res: ubr: use sid_kvs_iter_prefix_create where applicable (Peter Rajnoha) - res: kvs: add sid_kvs_iter_prefix_create (Peter Rajnoha) - internal: bptree: add bptree_iter_prefix_create (Peter Rajnoha) - mods: ucmd: dm: move setting of udev variables from scan-post to scan-a-exit (Peter Rajnoha) - res: ubr: sync phase description with phase names (Peter Rajnoha) - mods: ucmd: dummy-type: add callbacks for scan-a-exit, remove-{init,exit} and scan-b-{init,exit} phase (Peter Rajnoha) - mods: ucmd: dummy-block: add callbacks for scan-a-exit, remove-{init,exit} and scan-b-{init,exit} phase (Peter Rajnoha) - res: ucmd-module: call out to modules in scan-a-exit, scan-remove-{init,exit} and scan-b-{init,exit} phase (Peter Rajnoha) - mods: ucmd: dm_mpath: adapt to recent changes and clean up (Peter Rajnoha) - mods: ucmd: blkid: adapt to recent changes and clean up (Peter Rajnoha) - mods: ucmd: dummy_type: adapt to recent changes and clean up (Peter Rajnoha) - mods: ucmd: dm/lvm: adapt to recent changes and clean up (Peter Rajnoha) - mods: ucmd: dm: adapt to recent changes and clean up (Peter Rajnoha) - mods: ucmd: dummy_block: adapt to recent changes and clean up (Peter Rajnoha) - res: ucmd-module: merge former scan-ident phase into scan-a-init phase (Peter Rajnoha) - res: ucmd-module: rename "error" scan cmd callback to "scan_error" (Peter Rajnoha) - res: ubr: make struct sid_ucmd_mod_fns internal and rename it to struct scan_mod_fns (Peter Rajnoha) - res: ucmd-module: remove superfluous leading 0 for SID_KV_FL_RS flag (Peter Rajnoha) - res: ubr: simplify block mod callback callout (Peter Rajnoha) - res: ubr: simplify type mod callback callout (Peter Rajnoha) - res: ubr: order internal cmd_reg definition for each phase based on cmd_scan_phase_t value (Peter Rajnoha) - res: ucmd-mod: sync set of callback symbols with phases as defined by cmd_scan_phase_t (Peter Rajnoha) - res: wrk-ctl: add signal name to debug message informing about signal reception in worker (Peter Rajnoha) - mods: ucmd: dm: fix and simplify submod callout (Peter Rajnoha) - mods: ucmd: dm: decrement cookie semaphore in scan-action-current phase (Peter Rajnoha) - mods: ucmd: dm: consolidate error messages for set/get KV (Peter Rajnoha) - mods: ucmd: dm: use dm_cookie_{base,flags}_t for typecasting parts of cookie value (Peter Rajnoha) - mods: ucmd: dm: move setting cookie flags for udev from scan-pre to scan-post-current phase (Peter Rajnoha) - mods: ucmd: dm: fix check for unexpected udev event while in SID_DEV_RDY_UNCONFIGURED (Peter Rajnoha) - mods: ucmd: dm: mark DM_SUSPENDED variable exported to udev as transient (Peter Rajnoha) - mods: ucmd: dm: set DM_UDEV_RULES_VSN based on ready state in scan-post-current phase (Peter Rajnoha) - mods: ucmd: dm: revise and refine scan-pre phase (Peter Rajnoha) - mods: ucmd: dm: remove unsetting of DM_X_COOKIE_FLAGS on no cookie (Peter Rajnoha) - mods: ucmd: dm: consolidate naming for keys used for KV records/udev exports (Peter Rajnoha) - mods: ucmd: dm: add comment about a limit in detecting the ready state (Peter Rajnoha) - ci: use --check-level=exhaustive for cppcheck in csmock (Peter Rajnoha) - res: ucmd-mod: remove superfluous sid_res_t typedef from ucmd-module.h (Peter Rajnoha) - global: minor cleanups around enums (Peter Rajnoha) - res: ucmd-mod: use defines instead of enum for bitwise flags (Peter Rajnoha) - res: use defines instead of enum for bitwise flags (Peter Rajnoha) - res: kv-store: use defines instead of enum for bitwise flags (Peter Rajnoha) - iface: srv-lnk: use defines instead of enum for bitwise flags (Peter Rajnoha) - tools: usid: shorten SID_UBR_STATUS to SID_STATUS (Peter Rajnoha) - tools: usid: fix regression in USID_{IFC_PROTOCOL,MAJOR,MINOR,VERSION,RELEASE} naming (Peter Rajnoha) - tools: usid: also print SID_UBR_STATUS for scan, checkpoint and version cmd (Peter Rajnoha) - tools: usid: factor out active status string retrieval for internal reuse (Peter Rajnoha) - tools: usid: rename USID_BRIDGE_STATUS --> SID_UBR_STATUS (Peter Rajnoha) - mods: ucmd: dm: identify a submodule during scan-remove phase (Peter Rajnoha) - mods: ucmd: dm: factor out _dm_submod_ident from _dm_scan_ident (Peter Rajnoha) - mods: ucmd: dm/lvm: remove hardcoded lvm executable binary path (Peter Rajnoha) - configure: define SBINDIR in config.h (Peter Rajnoha) - mods: ucmd: dm/lvm: add actions for lvm-next (Peter Rajnoha) - mods: ucmd: dm: execute trigger-action-{current,next} phase for submods (Peter Rajnoha) - mods: ucmd: dm/lvm: parse pvscan output and store result to KV store (Peter Rajnoha) - mods: ucmd: dm: mark device as SID_DEV_RDY_PUBLIC on synthetic uevent without any previous records (Peter Rajnoha) - mods: ucmd: dm/lvm: run pvscan in scan_next phase (Peter Rajnoha) - mods: ucmd: dm/lvm: add command runner resource (Peter Rajnoha) - mods: ucmd: dm: execute subsys_match_next within scan_next phase (Peter Rajnoha) - mods: ucmd: dm: fix submod calls based on current/next phase (Peter Rajnoha) - mods: ucmd: dm/lvm: implement susbys_match_next (Peter Rajnoha) - mods: ucmd: dm: add 'subsys_match_next' logic (Peter Rajnoha) - mods: ucmd: dm/lvm: rename all related 'subsys_match' to 'subsys_match_current' (Peter Rajnoha) - mods: ucmd: dm: rename all related 'subsys_match' to 'subsys_match_current' (Peter Rajnoha) - mods: ucmd: dm/lvm: LVM udev rules to SID dm/lvm mod migration (basic) (Peter Rajnoha) - mods: ucmd: dm: DM udev rules to SID dm mod migration (basic) (Peter Rajnoha) - res: ubr+ucmd-mod: clang-format (Peter Rajnoha) - res: ubr+ucmd-mod: put scan_remove related identifiers together with other scan identifiers (Peter Rajnoha) - res: ucmd-mod: move SID_UCMD_MOD_FN_NAME_TRIGGER_ACTION_{CURRENT,NEXT} to ucmd-module.h (Peter Rajnoha) - res: ubr: simplify code after scandir in _update_disk_deps_from_sysfs (Peter Rajnoha) - res: ubr: rename _refresh{,_disk,_partition}_hierarchy_from_sysfs to _update{dev,disk,part}_deps_from_sysfs (Peter Rajnoha) - res: ubr: use trailing separator when composing KV key prefixes (Peter Rajnoha) - res: ubr: do not initialize new dev kvs for underlying deps from sysfs (Peter Rajnoha) - res: ubr: add _copy_id_from_key (Peter Rajnoha) - res: ubr: use util_str_len_cpy in _copy_ns_part_from_key (Peter Rajnoha) - internal: util: add util_str_len_cpy (Peter Rajnoha) - res: ubr: fix check for last cmd stage and exit cmd properly (Peter Rajnoha) - res: ucmd-mod: scan phases cleanup (Peter Rajnoha) - mods: ucmd: dummy_block: adapt to scan phase cleanup (Peter Rajnoha) - mods: ucmd: dummy_type: adapt to scan phase cleanup (Peter Rajnoha) - mods: ucmd: dm/lvm: adapt to scan phase cleanup (Peter Rajnoha) - mods: ucmd: dm: adapt to scan phase cleanup (Peter Rajnoha) - res: ucmd-mod: scan phases cleanup (Peter Rajnoha) - res: wrk-ctl: support adding suffix to received data through a channel lane (Peter Rajnoha) - res: wrk-ctl: fix SID_WRK_NULL_INIT_CB_SPEC to reference proper field name for callback fn (Peter Rajnoha) - res: ubr: adapt for recent wrk-ctl changes (Peter Rajnoha) - res: wrk-ctl: cleanups add support for defining parameters per channel's lane (Peter Rajnoha) - base: buf: add const for sid_buf_{spec, init} and data params for sid_buf_* fns (Peter Rajnoha) - global: rerun clang-format (Peter Rajnoha) - res: wrk-ctl: do not close non-channel FDs if running on valgrind (Peter Rajnoha) - configure: add --enable-valgrind for valgrind support (Peter Rajnoha) - internal: util: fix util_str_kv_get output param assignment if value not suffixed with spaces (Peter Rajnoha) - internal: util: add UTIL_STR_END and UTIL_STR_END_PUT, use them throughout util.c (Peter Rajnoha) - res: mod-reg: fix sid_mod_reg_mod_load to also pass registry structure on module resource creation (Peter Rajnoha) - res: mod: fix alias list stored with SID_MOD_ALIASES to include zero suffix at the end (Peter Rajnoha) - res: mod-reg: fix module alias lookup if there is more than one alias (Peter Rajnoha) - internal: util: assign util_str_kv_get output params only on success (Peter Rajnoha) - internal: util: add util_str_kv_get (Peter Rajnoha) - daemon: sid: also notify SID_SRV_LNK_NOTIF_STATUS (Peter Rajnoha) - iface: srv-lnk: allow multiple notifications in a single notify call for SID_SRV_LNK_TYPE_LOGGER (Peter Rajnoha) - res: notify "Processing requests..." status message in sid_res_ev_loop_run (Peter Rajnoha) - res: fix use after free for service link group in sid_res_create error path (Peter Rajnoha) - res: clone parent's service link group and merge child's one on sid_res_child_add (Peter Rajnoha) - iface: srv-lnk: add sid_srv_lnk_grp_merge (Peter Rajnoha) - res: ubr: adapt sid_res_isolate* calls to recent changes (Peter Rajnoha) - res: add SID_RES_ISOL_FL_KEEP_SERVICE_LINKS sid_res_isol_fl_t flag (Peter Rajnoha) - res: make sid_res_isolate to accept new sid_res_isol_fl_t flags (Peter Rajnoha) - res: ubr: mark a device as SID_DEV_RDY_PUBLIC by default if no module assigned (Peter Rajnoha) - res: ubr: add cleanup phase for stage B (Peter Rajnoha) - res: ubr: execute trigger-action-{current,next} module hooks (Peter Rajnoha) - res: ubr: add timeout for waiting on next cmd stage (Peter Rajnoha) - udev: fix regression when handling empty .SID_TAGS (Peter Rajnoha) - udev: remove superfluous check for .SID_TAGS variable in TAG rule (Peter Rajnoha) - res: ubr: add comments to struct sid_ucmd_ctx field sets (Peter Rajnoha) - res: ubr: add missing check for error code when changing cmd state (Peter Rajnoha) - res: ubr: simplify error code check when changing cmd state (Peter Rajnoha) - res: ubr: return and check error code when changing cmd state (Peter Rajnoha) - res: ubr: log error if trying to change to next stage on last stage (Peter Rajnoha) - res: ubr: rename internal variables for handling cmd stages (Peter Rajnoha) - res: ubr: use errno msg if failed to send resbuf to client (Peter Rajnoha) - res: ubr: check res_buf is not NULL if destroying cmd resource (Peter Rajnoha) - res: ubr: do not expect ack if no data to send through cmd export buffer (Peter Rajnoha) - res: ubr: remove temporary index and delta records after building KV buffers (Peter Rajnoha) - res: ubr: check records are marked with SID_KV_FL_SYNC when building cmd KV buffers (Peter Rajnoha) - res: ubr: destroy response buffer after sending it out (Peter Rajnoha) - res: ubr: destroy export buffer after sending it out (Peter Rajnoha) - res: ubr: check type when searching for connection resource (Peter Rajnoha) - res: ubr: remove unused __CMD_SCAN_PHASE_B_TRIGGER_ACTION_{START,END} from cmd_scan_phase_t enum (Peter Rajnoha) - res: ubr: switch to proper phase range for scan cmd based on current stage (Peter Rajnoha) - res: ubr: change to CMD_STATE_STG_WAIT if expecting another stage (Peter Rajnoha) - res: ubr: add command stage names (Peter Rajnoha) - res: ubr: add command stage counter (Peter Rajnoha) - res: ubr: send SYSTEM_CMD_UMONITOR to worker on udev monitor event reception (Peter Rajnoha) - res: ubr: rename _on_ubridge_udev_monitor_event --> _on_ubridge_umonitor_event (Peter Rajnoha) - res: ubr: use 'cmd' as short name for sid_res_type_ubr_cmd resource (Peter Rajnoha) - res: ubr: do not store SID_SESSION_ID in udev db (Peter Rajnoha) - tests: db_sync: _build_cmd_kv_buffers now accept flags instead of struct cmd_reg (Peter Rajnoha) - res: ubr: pass only flags to _build_cmd_kv_buffers, not whole struct cmd_reg (Peter Rajnoha) - res: ubr: print error message for all errors inside _build_cmd_kv_buffers (Peter Rajnoha) - res: ubr: rework cmd state tracking (Peter Rajnoha) - res: ubr: prefix error msgs in _worker_recv_system_cmd_{sync,resources} with SID_INTERNAL_ERROR (Peter Rajnoha) - res: ubr: remove superfluous CMD_KV_EXPECT_EXPBUF_ACK internal flag (Peter Rajnoha) - res: wrk-ctl: add missing function name in internal error messages (Peter Rajnoha) - res: ubr: add missing function name in internal error messages (Peter Rajnoha) - res: ubr: log internal error if trying to change the state to already set one (Peter Rajnoha) - res: ubr: exit event loop on failure for con and cmd event (Peter Rajnoha) - res: add sid_res_ev_exit_on_failure_{set,get} (Peter Rajnoha) - res: ubr: remove unused CMD_SCAN_PHASE_A_WAITING (Peter Rajnoha) - res: ubr: do not yield the worker on connection cleanup (Peter Rajnoha) - res: fix sid_res_log_print to use proper and defined log priority (Peter Rajnoha) - res: ubr: add debug and error log messages when receiving event from udev monitor (Peter Rajnoha) - res: ubr: fix worker-control worker-proxy lookup in udev monitor handler (Peter Rajnoha) - res: ubr: fix possible uninitialized devid_msg var use in _set_dev_kvs (Peter Rajnoha) - res: ubr: also set complete error msg if failed to update KV records while processing slaves/partitions from sysfs (Peter Rajnoha) - res: ubr: share code when refreshing records about slaves and partitions from sysfs (Peter Rajnoha) - res: ubr: rework internal fn to set basic set of device KV records (Peter Rajnoha) - res: ubr: fix setting of 'count' output arg for _dev_alias_to_devid (Peter Rajnoha) - res: ubr: fix setting DISKSEQ string in cmd context during cmd initialization (Peter Rajnoha) - res: ubr: fix _copy_ns_part_from_key to not return partial or incorrect result in output buffer (Peter Rajnoha) - res: ubr: fix _dev_alias_to_devid if writing multiple devids to output buffer (Peter Rajnoha) - res: ubr: consolidate device ID naming in log messages (Peter Rajnoha) - res: ubr: consolidate device ID naming in log messages (Peter Rajnoha) - res: ubr: refactor _devno_to_devid to _dev_alias_to_devid to process all aliases (Peter Rajnoha) - res: ubr: remove unused 'udev_fallback' param for internal _devno_to_devid (Peter Rajnoha) - res: ubr: fix unsetting archive key on main kvs sync (Peter Rajnoha) - res: ubr: always pass valid resource to _part_get_whole_disk (Peter Rajnoha) - res: ubr: issue error msg about failed KV operation for a new device only on error (Peter Rajnoha) - res: ubr: pass both resource and owner string to internal fns handling KV records (Peter Rajnoha) - res: ubr: use _set_new_device_kv_records in _refresh_device_disk_hiearchy_from_sysfs (Peter Rajnoha) - res: ubr: use num_s and dseq_q from struct sid_ucmd_ctx.dev if printing a dev for logs (Peter Rajnoha) - res: ubr: use dev fields from struct sid_ucmd_ctx param in _set_new_device_kv_records (Peter Rajnoha) - res: ubr: add device sequence number string (dsq_s) to struct sid_ucmd_ctx.req_env.dev (Peter Rajnoha) - res: ubr: use const for struct sid_ucmd_ctx.dev.{uid_s,num_s} (Peter Rajnoha) - res: ubr: move _set_new_device_kv_records so it is visible earlier (Peter Rajnoha) - res: ubr: propagate a valid resource when setting RDY and RES states in _set_new_device_kv_records (Peter Rajnoha) - res: ucmd-mod: check mod_res is correct for all API functions (Peter Rajnoha) - res: mod-reg: add sid_mod_reg_dep_match (Peter Rajnoha) - res: mod-reg: fix typo in MODULE_RESET_NAME macro name (Peter Rajnoha) - res: fix SID_RES_SEARCH_TOP to check it can walk up before matching a resource (Peter Rajnoha) - res: mod-reg: replace sid_res_parent_exists with sid_res_search_match (Peter Rajnoha) - res: remove obsolete sid_res_parent_exists (Peter Rajnoha) - res: add sid_res_search_match and sid_res_search_match_res (Peter Rajnoha) - res: ubr: pass a valid resource to _set_new_device_kv_records calls (Peter Rajnoha) - base: util: add char_count output param to sid_util_sysfs_get (Peter Rajnoha) - csmock: fix reported issues (Peter Rajnoha) - res: ubr: use _set_new_device_kv_records in _set_device_kv_records and _ulink_import (Peter Rajnoha) - res: ubr: factor out new device KV handling to internal _set_new_device_kv_records fn (Peter Rajnoha) - res: ubr: remove unused _devno_to_devid_with_udev (Peter Rajnoha) - ref: ubr: clean up code in _refresh_device_disk_hieararchy_from_sysfs (Peter Rajnoha) - res: ubr: clang-format (Peter Rajnoha) - res: ubr: explicitly set kv_update_arg.is_sync in _do_sid_ucmd_set_kv (Peter Rajnoha) - res: ubr: fix KV reservation while syncing (Peter Rajnoha) - res: ubr: remove superfluous 'index' arg for internal kvs handling fns (Peter Rajnoha) - res: ubr: use single _kv_cb_delta_step for main and snapshot kvs (Peter Rajnoha) - res: ubr: fix KV delta so it can also set main kvs (Peter Rajnoha) - res: ubr: fix sync flag for initial udev import (Peter Rajnoha) - udev: add tags using .SID_TAGS var returned from usid scan (Peter Rajnoha) - res: ubr: import dev id, dseq, devno and name from udev if tagged with sid (Peter Rajnoha) - rpm: spec: sid-mod-* depend on sid instead of sid-resource-libs (Peter Rajnoha) - rpm: spec: add explicit dependency on sid-internal-libs in sid-internal-libs-devel (Peter Rajnoha) * Tue Oct 06 2020 Peter Rajnoha - 0.0.4-1 - Initial release.