| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We steal 8 bits from the request offset to count hops when requests
get relayed by proxies. This still leaves plenty of bits for the
offset (56 bits, supporting images of up to 72 petabytes).
This is used to detect proxy cycles. The algorithm is not perfect
but should prevent endless relays of the same request.
This is backwards compatible to old clients and servers, as the server
only ever sets the hopcount in relayed requests if the upstream server
is using protocol version 3 or newer, and clients are automatically
upwards compatible as there is practically no image larger than 74PB,
so the newly introduced hop count field is always 0 even in requests
from old clients.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Disable panic timeout that reports errors to block layer by default
- Get rid of "is_server" used by old proxy mode, introduce
"honor_server_alts" that just controls whether we use alts provided by
the server
- Allow switching servers when we only have 3 RTT measurements
- If using alts provided by server, don't ignore those that come from
other servers than the initial one
|
|
|
|
|
|
|
|
|
|
| |
Now that we can automatically load unknown images from disk on request,
it makes sense to remove non-working images from the image list. On
future requests, we will look for them on disk again, which is nice
in case of temporary storage hickups.
Also, some more ore less related locking has been refined (loading images,
replicating images)
|
| |
|
| |
|
|
|
|
| |
condition in uplink_init
|
|
|
|
| |
tested against varying bw/latency), retry sendfile call if ret <= len
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Right after connecting, all servers will be polled every 4 seconds for 30 seconds,
so we get 7 data points per alt-server. If no better server is found during
this time, further RTT measurements will be done every 22 seconds, to put
less load on the network in the long run.
|
|
|
|
| |
too often
|
|
|
|
|
| |
Split up helper.c, move file/disk related functions to fileutil.c
Uplink: Make sure relayed requests are at least 1MiB
|
| |
|
| |
|
|
|
|
| |
yet, so prepare for lots of fixes ;))
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
[SERVER] Return List of Alt Servers on RPC_IMG_LIST
|
| |
|
|
|
|
|
| |
[KERNEL] SysFS: Return empty string for current_server if not connected
[SERVER] Code refactoring
|
|
|
|
|
|
|
| |
clients for an image where the soft timeout has been reached, kill all clients for an image where the hard timeout has been reached and remove it from the server. Check for the hard timeout every five minutes
[SERVER] Re-Implement image deletion to work with image names instead of vids
[SERVER] Add helper functions to simplify dealing with libxml2
|
|
|
|
|
|
|
|
|
| |
properly on 32bit
[SERVER] Change IPC interface to be able to handle more than 1 request per connection
[SERVER] Change IPC interface to use select() so it can handle multiple connections at the same time
[SERVER] Re-Implement dnbd3_add_image() to work with image list
[SERVER] Add lots of sanity/safety checks and error messages when loading/adding an image
|
|
|
|
|
| |
[KERNEL] Detect dead idle connection earlier
[KERNEL] Improved debug output
|
| |
|
|
|
|
|
|
|
|
| |
[SERVER] Fix a few off-by-one bugs
[SERVER] Make log available through IPC
[KERNEL] Hot-Swap to faster connection on load-balance
[KERNEL] Report I/O error to block layer if no server replies within a given time frame
[*] Modified network protocol to handle volume names instead of ids
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
[ALL] Send and receive servers
[TODO] Config file reloading is broken
|
| |
|
|
|
|
| |
[SERVER] Print connected clients and used images
|
|
|
|
|
| |
[KERNEL] Bugfixes
[CLIENT] Using vid and rid
|