| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
- Add support for aborting session and further uploads via SIGQUIT
- Make API versioned
- Change it to "uuid" everywhere instead of a mix of uuid and guid
- Server can now tell us to wait with further uploads
- merge request is now urlencoded POST instead of mime data
|
| |
|
|
|
| |
Add a version to the URL, rest can be configured dynamically by -C
as it's a simple prefix.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't allocate a data cluster in data file for empty l2 entries when
resizing the image file.
Calculating l2 offset in metadata file was broken and overlapping l1.
Delete unneeded entries from cow struct.
Rename a few more variables.
Fix a few possible race conditions.
Only upload modified blocks from cluster.
Simplify cow_write() function by handling misaligned start/end first.
Try to also simplify cow_read() a bit.
TODO: Documentation, update the cow merger service.
|
| |
|
|
|
|
|
|
|
| |
- Use the term "cluster" for a group of dnbd3-blocks instead of also
calling them blocks.
- Use term "table" instead of "array" for the L1 and L2 tables.
- Use term "index" instead of "offset" when addressing those tables
- Fix a few logic bugs, use-after-free
- Add TODOs for parts that need better comments
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Similar logic already exists in the fuse client:
Count how many times in a row a server was fastest when
measuring RTTs, and lower the switching threshold
more the higher the count gets.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The software version for packaging purposes is consituted from the
following rules:
- If the version information (from Git tags or the embedded version
header file) is available, the version number for the packaging is
set to those found version information.
- If there isn't any version information available (e.g. missing Git
tags), the version number for the packaging is set to '0.0' to
represent an unkown version number.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The ioctl OPEN call for DNBD3 devices exposed by the dnbd3 Linux kernel
module, is extended with a fixed array of dnbd3 hosts. The fixed array
allows the dnbd3-client to submit host information (IP address and port)
of multiple dnbd3-servers. This information is used to probe all
submitted dnbd3-servers and add them to the alternative dnbd3-server
list. If at least one dnbd3-server is not reachable, the OPEN ioctl call
will abort with an error code.
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch adds the following CMake targets
- package
- source
to build bundeled packages. Those packages contain either all built
binary artifacts or all source files for source code distribution. Both
CMake targets are available in Release build configuration.
|
| |
|
|
|
| |
The afl-fuzz support for the dnbd3-server requires an AFL C compiler
like afl-gcc and can be enabled with the CMake option DNBD3_SERVER_AFL.
|
| | |
|
| | |
|
|
|
This change restructures the source code directories, separates shared
form non-shared application code and adds CMake dependencies. These
dependencies allow the tracking of changes and trigger a rebuild of
those build targets where changed files are involved.
WARNING: Note that the support of the DNBD3_SERVER_AFL build option is
not supported yet. Thus, the option should be never turned on.
|