#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.20240612080918185978.main.182.gc4d2610%{?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 COPYING BSD_LICENSE %{_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/binary.h %{_includedir}/sid/base/buffer-common.h %{_includedir}/sid/base/buffer-type.h %{_includedir}/sid/base/buffer.h %{_includedir}/sid/base/comms.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/bitmap.h %{_includedir}/sid/internal/bptree.h %{_includedir}/sid/internal/common.h %{_includedir}/sid/internal/comp-attrs.h %{_includedir}/sid/internal/formatter.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/service-link.h %{_includedir}/sid/iface/iface.h %{_includedir}/sid/iface/iface_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/kv-store.h %{_includedir}/sid/resource/module-registry.h %{_includedir}/sid/resource/module.h %{_includedir}/sid/resource/resource-type-regs.h %{_includedir}/sid/resource/resource.h %{_includedir}/sid/resource/ucmd-module.h %{_includedir}/sid/resource/ubridge.h %{_includedir}/sid/resource/worker-control.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 * Wed Jun 12 2024 Packit - 0.0.6-1.20240612080918185978.main.182.gc4d2610 - 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.