Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: tcmu-runner | Distribution: openSUSE Tumbleweed |
Version: 1.6.2 | Vendor: openSUSE |
Release: 5.1 | Build date: Mon Mar 4 23:01:16 2024 |
Group: System/Management | Build host: i02-ch1b |
Size: 200233 | Source RPM: tcmu-runner-1.6.2-5.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://github.com/open-iscsi/tcmu-runner | |
Summary: A userspace daemon that handles the LIO TCM-User backstore |
LIO is the SCSI target in the Linux kernel. It is entirely kernel code, and allows exported SCSI logical units (LUNs) to be backed by regular files or block devices. But, if we want to get fancier with the capabilities of the device we're emulating, the kernel is not necessarily the right place. While there are userspace libraries for compression, encryption, and clustered storage solutions like Ceph or Gluster, these are not accessible from the kernel. The TCMU userspace-passthrough backstore allows a userspace process to handle requests to a LUN. But since the kernel-user interface that TCMU provides must be fast and flexible, it is complex enough that we'd like to avoid each userspace handler having to write boilerplate code. tcmu-runner handles the messy details of the TCMU interface -- UIO, netlink, pthreads, and DBus -- and exports a more friendly C plugin module API. Modules using this API are called "TCMU handlers". Handler authors can write code just to handle the SCSI commands as desired, and can also link with whatever userspace libraries they like.
Apache-2.0
* Mon Feb 26 2024 pgajdos@suse.com - Use %autosetup macro. Allows to eliminate the usage of deprecated %patchN * Tue Jul 11 2023 lduncan@suse.com - Update to version 1.6.2: * Bump version to 1.6.2 * tcmur_device: skip reporting events if the device is closed * Bump version to 1.6.1 * tcmur_device: fix racy between reopening devices and reporting events Also, remove patch no longer needed ,since SUSE RPM macros have been updated (bsc#1212636): * tcmu-runner-remove-handler-path-install-prefix.patch * Fri Oct 14 2022 lduncan@suse.com - Update to version 1.6.0 from upstream: * Bump version to 1.6.0 * Use get_unaligned_be*() to avoid UB * libtcmu: add support for write protect * rbd: make it to be compatible to the old blacklist style * rbd: switch to blocklist * rbd: switch strtok to strtok_r * tcmur_device: rename the state_lock to rdev_lock * tcmur_device: rename lock to cmds_list_lock * rbd: fix and add more debug logs * rbd: fix the possible warning of incorrect return value type * rbd: remove the reduntant logs * rbd: fix memory leak when fails to get the address * Revert "Create codeql-analysis.yml" * rbd: fix use-after-free of addr * Create codeql-analysis.yml * main: fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed * remove pthread_getname_np calls * implicitly cast pthread_t to long unsigned int * add missing pthread.h include * replace assert_perror with assert * cast time_t to intmax_t when printing * spec: make dist tag optional (#659) * install-dep.sh: do not install multiple packages in one single line (#657) * tcmu_read_config() check read() return value. (#656) The 3 current patches, which are SUSE-specific, stay. Note that this update moves libtcmu.so (a symlink) to a new package: libtcmu-devel, as suggested by rpmlint. * Tue Mar 08 2022 David Disseldorp <ddiss@suse.com> - fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed; (bsc#1196787). * Tue Sep 21 2021 lduncan@suse.com - Updated to latest upstream (jsc#SLE-17360). Added file: * tcmu-runner-updates-since-v1.5.4.xz with latest upstream changes since v1.5.4: * rbd: switch strtok to strtok_r * tcmur_device: rename the state_lock to rdev_lock * tcmur_device: rename lock to cmds_list_lock * rbd: fix and add more debug logs * rbd: fix the possible warning of incorrect return value type * rbd: remove the reduntant logs * rbd: fix memory leak when fails to get the address * Revert "Create codeql-analysis.yml" * rbd: fix use-after-free of addr * Create codeql-analysis.yml * main: fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed * remove pthread_getname_np calls * implicitly cast pthread_t to long unsigned int * add missing pthread.h include * replace assert_perror with assert * cast time_t to intmax_t when printing * spec: make dist tag optional (#659) * install-dep.sh: do not install multiple packages in one single line (#657) * tcmu_read_config() check read() return value. (#656) And added these changes in v1.5.4 from v1.5.3: * Bump version to 1.5.4 (#652) * handler: add writesame/caw hooks support * tcmur: fall back to writesame without unmap if not aligned * tcmur: clean up the code * rbd: fix the unmap align and granularity size * rbd: use the new format of the daemon name * file_zbc: Remove unnecessary zone boundary check * Sat Jan 30 2021 lduncan@suse.com - Update to version 1.5.3: * tcmur: error if both src/dst_dev are unset after CSCD parsing * tcmur: don't assume two XCOPY CSCDs * tcmur: fail XCOPY requests with inline data * tcmur: fail cross-device XCOPY requests * scsi: minor simplification of inquiry if/else logic * Add supported vpd pages to zbc vpd pages * lock: do not try to acquire the lock for read fops * rbd: remove all the stale blacklist entries when opening devices * tcmu-runner: explicitly release the g_runner_handlers resources * glfs: add init/destroy support to fix memory leak * tcmur: add the init/destroy support in struct tcmur_handler * CMakeList.txt: fix the style and switch tabes to white spaces * worker: do not set thread name in the callback fn * target: convert recovery thread to work helpers * rbd: add report event support * runner: add handler error reporting cb * runner: convert alua code to work helpers * runner: add thread helpers * rbd: fix formatting * tcmur_device: remove unused recovery_thread member * rbd: fix logging when client is blacklisted * glfs: allow to load the device when the sizes disagree * Fix possible cdb printing overflow * libtcmu_log: Set tcmu_logbuf before log thread is created * extra/install_dep.sh: Add support for SUSE * glfs: disable the fencing when it is not support * Simplify tcmu_set_thread_name * extra script: Fix install_dep.sh * logger: add pthread name * tcmu-runner: set a name for each pthread * libtcmu: remove stale fns declaration * glfs: check EOF for read * Add missing libpthread * logger: correct the log message for log dir path * logger: fix posible crash when loging to file * Add tcmu_dev_get_memory_info() and split+rename device_add(). * Add support for Debian * glfs: add lock support * alua: make the lock done as INFO message * Thu Jan 07 2021 David Disseldorp <ddiss@suse.com> - Fix for security advisory CVE-2020-28374; (bsc#1180676). * Fri Jan 03 2020 Lee Duncan <lduncan@suse.com> - Fixed i586 compilation complaint in tcmur_cmd_handler.c, adding: * tcmu-runner-fix-i586-size_t-error.patch (which came from David Disseldorp). Also, added requirement for libnl3-devel version that supports signed network functions, such as nla_put_s32(). * Thu Jan 02 2020 lduncan@suse.com - Update to version 1.5.2 (see jsc#SLE-7751): * Bump version to 1.5.2 * Fix man unmap len reporting * Bump version to 1.5.1. * spec: fix build error * Bump version to 1.5.0. * Disable explicit alua support. * Don't install headers. * Add missing whatis entry for manpage * Add link to tcmu-runner manpage from tcmu-runner.service * Fix spelling s/Igoring/Ignoring/ * Fix spelling s/reseting/resetting/ * darray.h: avoid UB when decrementing zero pointer * Log timed out commands * lib/runner: Add helpers to convert lbas and bytes * Check for optional handler callouts * Drop unused tcmulib_cmd code * Convert runner handlers and core code to tcmur_cmd * Add tcmur-runner cmd struct * Prep for separating runner fields from tcmulib_cmd * tcmu-runner: simplify format unit io limit check * Cleanup runner callout definitions * runner: unbind aio code from tcmulib_cmd * Set write_verify cbks in write_verify_init * Set handle_caw_read_cbk in caw_init_readcmd * Add tcmu-runner cmd completion function * runner: fix up callout return info * rename tcmur tcmulib command completion function * libtcmu: Allow handlers to allocate n bytes with each command * tcmur: remove useless code * alua: fix pthread attr destroy * tcmur: fix free of xcopy parse * fbo: fix mutex destroy * reconfig_device: add request cfg type to logs * api: tcmu_cdb_print_info convert err log to debug * tcmu: reconfig_device convert err log to debug * tcmu: link libtcmalloc with libtcmu and handlers * runner: fix crash during compound command execution * cmake: set '-fno-builtin-XYZ' options when tcmalloc is used * configfs: fix index out of bounds * cmake: add a minor .so version number to libtcmu * spec: track backuped files * spec: update the spec file to fix the build error * spec: pass the tcmalloc option to cmake command * spec: switch to use rpm conditional switches * extra: add gperftools-devel to install_dep script * Optionally link against tcmalloc for improved small IO performance * libtcmu_time: void header file include muti-times * glfs: update the glfs logdir * README: update to add uninstall * lockfile: switch to use /run/tcmu.lock * logrotate: fix duplicate log entry error * Validate input for tcmu_log_dir_check() * Fix parameter for tcmu_setup_log() * Follow coding style, move leading brace * Add method to query whether OOOC is supported * glfs: fix build error for GFAPI version check * glfs: add gfapi version check * Fix unmap to handle refcount being 0 * fix typo in code * rpm: remove %defattr * rpm: remove %clean section * rpm: use valid short name licenses in License field * configfs: clean up the code * Fix pthread error ret * rbd: fix the error ret in tcmu_rbd_unlock * Drop sense arg from tcmu_explicit_transition * libtcmu: setup_netlink maybe failure but can't sensed * Drop is_sync arg from tcmu_acquire_dev_lock * Allow some commands to run while taking lock * Drop in_lock_thread from __tcmu_reopen_dev * Fix pthread error handling * Check if device is opened before calling handler * main: load_our_module maybe failure but can't sensed * tcmu: clean up the code * spec: fix building error * logrotate: do not overwrite the exist config file * logrotate: fix the install cmake file * README: update and add the make_runnerrpm.sh info * Fix 80 col formatting in def_log_path setup * format-security: fix snprintf usage * config: clean up the code * Drop cfg path variable * Switch some inotify messages from info to debug. * libtcmu: carve-out library packages separately * logger: skip resetting options if they match with current * load_config: retry opening conf-file if the initial attempt fail * cmake_install: backup old tcmu.conf version as tcmu.conf.old * doc: update readme * daemon: log start/exit msgs with crit level * dyn-logger-config: honor the precedence * main: organize the cleanup sequence * config: deprecate tcmu_parse_config * logger-init: honor the defaults when config key:value pair is commented * config: cleanup few allocations and naming * inotify: watch the directory not just file * logger: check for -1 return value on open * Call block/reset nl directly * Call block/reset dev directly * Fix up configfs file not found error message * Move tcmu_get_runner_handler * Build zbc/fbo with scsi.c * Remove daemon priv hack * Sync lbtmcu cmd and misc naming * Sync libtcmu dev get/set naming * Rename dev/nl block/reset cfgfs functions * Rename tcmu_get_wwn to tcmu_cfgfs_dev_get_wwn * Use uin32_t for cfgfs action values * Rename tcmu_cfgfs_dev_get_attr to tcmu_cfgfs_dev_get_attr_int * Drop tcmu_get_dev_size * Drop tcmu_set_dev_size * Rename tcmu_set_control to match cfgfs lib functions * Use uin32_t instead of unsigned long for cfgfs lib function * cfgfs: Add tcmu_cfgfs prefix to cfgfs lib functions * lib: Update tcmulib_command_complete comments * Partial revert of "libtcmu: do not install headers and drop libtcmu stable API" * Revert "build: drop versionless libtcmu.so symlink" * libtcmu: move tcmu_get_runner_handler into scsi.c * libtcmu: move SCSI helpers out of libtcmu * libtcmu: declare tcmu_cancel_thread in libtcmu_common.h * libtcmu_log: get subtype from tcmulib_handler * libtcmu_priv.h: drop unnecessary header files * libtcmu: explicitly include tcmu-runner.h where necessary * cmake: drop rsyslog build time check * spec: remove changelog * cmake: add rsyslog to dependencies list * spec: add rsyslog to requires list * systemd: start rsyslog.service before tcmu-runner.service * config: do not update the logdir when it's commented in conf * logger: add critical log level support * libtcmu: remove useless parameter in remove_device * spec-file: further changes to take options to ignore dependencies * logrotate: add logrotate support for tcmu-runner-glfs.log * tcmur: fix the unmap logging format * glfs: add writesame support * api: add zeroed iov check support * tcmu: Fix CMake to install file_optical * tcmu:fix extra backslash * tcmu-runner.spec: fix the rpm build errors * tcmu: Simplify command completion * file_zbc: optionally build zbc handler * file_zbc: fixed compile error under ppc64le * Enable explicit alua support. This replaced tcmu-runner-1.4.0.tar.xz with tcmu-runner-1.5.2.tar.xz, and removed two patches that are already in 1.5.2 so no longer needed: * file_zbc-fixed-compile-error-under-ppc64le.patch * file_zbc-optionally-build-zbc-handler.patch * Tue Jun 18 2019 David Disseldorp <ddiss@suse.com> - Move tcmu.conf into main package; (bsc#1138443)
/etc/dbus-1 /etc/dbus-1/system.d /etc/dbus-1/system.d/tcmu-runner.conf /etc/logrotate.d/tcmu-runner /etc/tcmu /etc/tcmu/tcmu.conf /usr/bin/tcmu-runner /usr/lib/systemd/system/tcmu-runner.service /usr/lib64/tcmu-runner /usr/lib64/tcmu-runner/handler_qcow.so /usr/sbin/rctcmu-runner /usr/share/dbus-1 /usr/share/dbus-1/system-services /usr/share/dbus-1/system-services/org.kernel.TCMUService1.service /usr/share/doc/packages/tcmu-runner /usr/share/doc/packages/tcmu-runner/README.md /usr/share/licenses/tcmu-runner /usr/share/licenses/tcmu-runner/LICENSE.Apache2 /usr/share/licenses/tcmu-runner/LICENSE.LGPLv2.1 /usr/share/man/man8/tcmu-runner.8.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Nov 13 00:41:02 2024