summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support in CMake to validate (lint) the source codeManuel Bentele2021-03-159-8/+775
|
* Add build support for Github actionsManuel Bentele2021-03-021-0/+43
|
* Add support for AlmaLinux 8Manuel Bentele2021-02-102-2/+24
|
* Add support of Linux LTS kernel 5.10.xManuel Bentele2020-12-141-2/+2
|
* Change format specifiers %PRIxMAX to %jx to avoid macrosManuel Bentele2020-12-071-2/+2
|
* Removed unused library 'ncurses' from xlosetup's dependenciesManuel Bentele2020-12-036-976/+8Star
|
* 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-203-8/+32
| | | | | | | 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-162-2/+43
|
* [BUILD] add support to locate build directory out of Git directoryManuel Bentele2020-11-133-7/+11
| | | | | This patch adds support to locate the build directory for generated artifacts out of the original checked out Git source code repository.
* Do not print verbose CMake messages in unsupported CMake versionsv1.0Manuel Bentele2020-10-273-15/+21
|
* Fix broken version header packaging for source packagesManuel Bentele2020-10-274-19/+44
|
* Remove the build requirement for an unused C++ compilerManuel Bentele2020-10-2710-11/+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.
* Add CMake build requirements check to find libraries and Linux kernel headersManuel Bentele2020-10-265-24/+157
|
* Fix URL to the Linux kernel documentation in READMEManuel Bentele2020-10-261-1/+1
|
* 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-2321-99/+672
| | | | | | | 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-23394-3/+9
|
* Set Linux kernel version to unknown if it is not detectableManuel Bentele2020-10-141-1/+4
| | | | | | This change will command CMake to set the Linux kernel version to unknown if the kernel version can not be detected from the string defined in KERNEL_BUILD_DIR.
* Added support to keep track of kernel file changes in CMakeManuel Bentele2020-10-1310-32/+48
| | | | | | | | | With this patch, CMake keeps track of changes to original xloop Linux kernel source files. CMake will copy each file if a change is detected without rebuiling the CMake build and cache files. Futhrmore, changed default paths of udev rules and xloop kernel modules to be installed.
* Added separate Linux kernel install directory and added version to kernel ↵Manuel Bentele2020-10-128-42/+48
| | | | modules
* Added debug support for xlosetup and documented debugging in READMEManuel Bentele2020-10-123-8/+44
|
* Print version string in kernel logManuel Bentele2020-10-123-3/+4
|
* Updated README with required build tools and librariesManuel Bentele2020-10-071-2/+50
|
* Added udev rules to kernel module build of xloopManuel Bentele2020-10-073-7/+34
| | | | | | | The added rules allow udev to properly detect disks and partitions exposed by the xloop kernel module. A proper detection of disks and partitions is needed by some command line tools from the util-linux package.
* Updated QCOW file format driver with upstream patchesManuel Bentele2020-10-075-193/+835
| | | | | | | | | | Ported recent upstream patches from QEMU's qcow2 file format to xloop's QCOW file format driver. The following changes had been made to the QCOW file format driver: - support to read extended L2 has been added - added decompression interface to support various compression types - implemented the ZSTD compression type for QCOW images
* Added RPM package creation and moved to relative CMake installation pathsManuel Bentele2020-09-164-10/+28
|
* Ported RAW file format kernel module to Linux 4.18.xManuel Bentele2020-09-162-1/+21
|
* Changed CMake minimum required version to 3.10Manuel Bentele2020-09-164-5/+5
| | | | This change fixes build issues with the CMake version shipped with CentOS 8.
* Added partial CMake package component supportManuel Bentele2020-09-164-5/+23
|
* Renamed xloop kernel module test targetsManuel Bentele2020-09-161-14/+14
|
* Fixed deadlock during partition scan on Linux kernel 5.4.xManuel Bentele2020-09-161-4/+8
|
* Fixed CMake build error on Linux v5.8 or laterManuel Bentele2020-09-164-31/+28Star
|
* Changed printing in kernel modules to support dynamic debugManuel Bentele2020-09-169-125/+149
|
* xlosetup: removed warning about unsuitable backing file sizeManuel Bentele2020-09-161-24/+0Star
| | | | Warning might be flase positiv if a QCOW backing file is loaded. The correct check of the file format size is already implemented in the xloop Linux kernel module and not needed in xlosetup anymore.
* Renamed losetup to xlosetup in man pageManuel Bentele2020-09-161-60/+60
|
* Renamed loop to xloop in all LTP kernel testsManuel Bentele2020-09-1615-581/+589
|
* Added testcases from the Linux testing project (LTP)Manuel Bentele2020-09-16246-2/+50531
|
* Updated README with documentation of general information and build optionsManuel Bentele2020-09-162-13/+70
|
* Ignore source files when packaging sourcesManuel Bentele2020-09-161-1/+2
|
* Generate util-linux configuration to build xlosetupManuel Bentele2020-09-165-32/+71
|
* Fixed major number of xloop device and device names in xlosetupManuel Bentele2020-09-167-46/+54
|
* Renamed files from loop to xloop and generate package only in Release modeManuel Bentele2020-09-1622-120/+113Star
|
* Added CMake files to build xloop kernel modules and xlosetup utilityManuel Bentele2020-09-169-104/+161
|
* Added patched losetup utility to configure xloop devicesManuel Bentele2020-09-16151-0/+29601
|
* Added file format file format subsystem for loop devicesManuel Bentele2020-09-1615-1624/+1861
| | | | | | | | | | | | | | | | | | | | | | The loop device module is extended by a file format subsystem to allow the implementation of various disk file formats. The file format drivers are implemented as own kernel modules and registered by the subsystem. The subsystem takes control over the specified file format at loop creation and calls the corresponding file format driver functions. At the moment, the file format subsystem can handle ... - read - write - discard - flush - sector size ... operations of loop devices. The file format of each loop device can be specified by the LOOP_CONFIGURE LOOP_SET_STATUS or LOOP_SET_STATUS64 ioctl with the corresponding data structure loop_info or respectively loop_info64.
* Cache last decompressed cluster for compressed QCOWSimon Rettberg2020-08-052-31/+37
| | | | | | | The naive implementation repeatedly decompressed the same cluster for every 4k read, which was incredibly wasteful and resulted in ~20MB/s read speeds if the underlying qcow2 was read via GBit network. This approach yields 200MB/s+
* Change loop%d strings to xloop%dSimon Rettberg2020-08-041-5/+5
|