| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
used in Rocky 9.0
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|