summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [KERNEL] Fix build on CentOS 9.5-but-newerSimon Rettberg2024-04-101-0/+12
| | | | | | | | | | So far, breaking changes were accompanied with a bump of the minor version, but not this time. Bewetween -432 and-435, the signature of disk_force_media_change() changed (haha), but the version number stayed the same. Pick the completely arbitrary macro QUEUE_FLAG_SYNCHRONOUS which only exists in -435 to tell the versions apart.
* [KERNEL] Fix build on Linux 6.8 and CentOS 9.5Simon Rettberg2024-04-032-0/+8
|
* [KERNEL] Fix build on CentOS/Rocky/Alma 9.4Simon Rettberg2024-03-151-0/+20
|
* [KERNEL] Fix build on Alma/RHEL/Rocky 9.2Simon Rettberg2024-03-152-4/+4
|
* [KERNEL] Fix warning on RHEL/Rocky/CentOS 9.0Simon Rettberg2024-03-151-2/+2
|
* Don't use sysfs_emit in case we apply an offset to bufSimon Rettberg2024-01-161-1/+2
| | | | | It's a function meant for safety, so it refuses to work with pointers that don't start at a page boundary.
* Remove space before tabSimon Rettberg2024-01-161-1/+1
|
* ADD MISSING FILES YOU IDIOTSimon Rettberg2024-01-162-0/+2258
|
* Make it build on 6.6 (to be tested)Simon Rettberg2024-01-153-108/+8Star
|
* Fix Mr. Bauer's crimes against the kernel coding guidelines :)Simon Rettberg2024-01-113-33/+4Star
|
* Fix build on 5.15.132 and newerSimon Rettberg2024-01-111-1/+2
| | | | | | Some changes in the block layer were backported from 5.17 to 5.15.132, so our version check regarding the GENHD_FL_NO_PART symbol failed.
* Add debug spamSimon Rettberg2023-11-291-0/+1
|
* Add missing CONFIG_DEBUG_FS checksSimon Rettberg2023-11-291-0/+4
|
* [KERNEL] initial support for RHEL Kernel 5.18.xJonathan Bauer2023-02-146-13/+2575
| | | | used in Rocky 9.0
* [KERNEL] Update for Linux 6.1Simon Rettberg2023-01-092-7/+25
|
* [KERNEL] Fix a copy/paste error acessing wrong variable in sanity checkSimon Rettberg2022-12-071-1/+1
|
* Don't use close_range as it might or might not collide with libcSimon Rettberg2022-12-072-18/+1Star
| | | | | | We don't have anything in place to actually generate a correct config.h, so to avoid breaking either newer or older distros, don't use the offending syscall at all.
* Fix linter issues to satisfy Linux kernel code styleManuel Bentele2022-10-053-1/+7
|
* Adapt to Linux 5.18Simon Rettberg2022-06-143-11/+35
|
* rhel8.5: Remove duplicate blkdev_registerSimon Rettberg2022-03-071-6/+1Star
|
* Add support for RHEL 8.5Simon Rettberg2022-03-046-14/+2231
|
* Split xloop_main into separate files for pre-5.15 and 5.15+Simon Rettberg2022-03-048-2517/+4865
|
* qcow2: Add lock for lookup cache and decompressionSimon Rettberg2022-03-042-3/+12
| | | | | | | | Race conditions can occur if reads are submitted from different cgroups, as each cgroup has its own workqueue. Linearize the according parts of the code using a mutex, as this will in the worst case lead to performance on par with pre-5.15 versions of xloop, which used one workqueue for all cgroups.
* Add more sanity checks to kernel_read calls and compressed buffer accessSimon Rettberg2022-03-042-25/+105
| | | | | | | Also, while we're at it, add error messages for all (most) failure modes of the cluster reading and decompression code, so we don't just end up with IO errors at the block layer without any clue as to where they were introduced.
* Don't add byte offset to kmapped pointerSimon Rettberg2022-03-041-11/+11
| | | | | | | | While the kunmap functions always round down to the current page, and currently, we never map a region larger than a page, it should be safer to do the pointer arithmetic after we acquired the mapped pointer, to avoid the risk of ever passing an invalid pointer to kunmap.
* Fix linter errors and warnings from checkpatch.plManuel Bentele2021-12-073-26/+29
|
* Add support for Linux LTS kernel 5.15.xManuel Bentele2021-12-074-526/+755
|
* Update xlosetup from util-linux v2.37.2Manuel Bentele2021-12-0733-625/+1242
|
* Add support for CentOS 8.4Manuel Bentele2021-07-261-1/+2
|
* Refactor kernel code to satisfy Linux kernel code styleManuel Bentele2021-03-1513-1441/+1111Star
|
* Add support in CMake to validate (lint) the source codeManuel Bentele2021-03-152-0/+588
|
* Add support for AlmaLinux 8Manuel Bentele2021-02-101-2/+11
|
* Change format specifiers %PRIxMAX to %jx to avoid macrosManuel Bentele2020-12-071-2/+2
|
* Removed unused library 'ncurses' from xlosetup's dependenciesManuel Bentele2020-12-033-908/+3Star
|
* Fix xlosetup's output of xloop devices on 32 bit hardware architecturesManuel Bentele2020-12-021-2/+2
| | | | | | This change fixes the printing of all xloop devices on 32 bit hardware architectures. A wrong format specifier for printf() is replaced to support the printing of the architecture-specific ino_t data type range.
* Update xlosetup's 'lib' and 'libsmartcol' from util-linux 2.36.1Manuel Bentele2020-12-0235-325/+871
|
* Setup xloop device with XLOOP_CONFIGURE ioctl callManuel Bentele2020-12-025-57/+118
| | | | | | | | | | | | This feature allows the userspace tool xlosetup to completely setup a loop device with a single ioctl call, removing the in-between state where the device can be partially configured, eg. the loop device has a backing file associated with it, but is reading from the wrong offset. Besides removing the intermediate state, another big benefit of this ioctl is that XLOOP_SET_STATUS can be slow. The main reason for this slowness is that XLOOP_SET_STATUS(64) calls blk_mq_freeze_queue() to freeze the associated queue. This requires waiting for RCU.
* Add Linux kernel module support for 32-bit architectures (eg. ARM)Manuel Bentele2020-11-202-8/+19
| | | | | | | This change replaces all 64-bit division and modulo operations with specific Linux kernel macros and functions to support 32-bit hardware architectures. Thus, the xloop kernel modules can also run on 32-bit ARM architectures, such as the Raspberry Pi 1 running Raspberry Pi OS.
* Add upstream and compatibility changes for Linux kernel 5.10 and 4.19Manuel Bentele2020-11-161-2/+30
|
* Remove the build requirement for an unused C++ compilerManuel Bentele2020-10-279-9/+18
| | | | | This patch sets the programming languages of each CMake project to C. With this change, CMake does not search for an unused C++ compiler anymore.
* Remove static generation of LTP configuration headerManuel Bentele2020-10-264-14/+15
| | | | | | | This patch removes the static generation of the LTP configuration header done by CMake. The static generation is replaced with a fixed header (no CMake template anymore) which includes the dynamic generated xloop version header to define version number macros for LTP.
* Add automatic generation of version and build type headers for compilationManuel Bentele2020-10-2310-90/+47Star
| | | | | | | This change replaces the static version and build type header file generation by CMake with dynamic CMake targets to generate the version file whenever a Make target is executed. Thus, there is no need anymore to reconfigure and rerun CMake after the repository version or build configuration has changed.
* Move the source code of all xloop components to the common 'src' directoryManuel Bentele2020-10-23393-0/+86601