<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dnbd3.git/src/server/uplink.h, branch isfant</title>
<subtitle>Distributed Network Block Device 3 --rewrite for Kernel 3.x</subtitle>
<id>https://git.openslx.org/dnbd3.git/atom/src/server/uplink.h?h=isfant</id>
<link rel='self' href='https://git.openslx.org/dnbd3.git/atom/src/server/uplink.h?h=isfant'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/'/>
<updated>2020-10-16T15:15:49+00:00</updated>
<entry>
<title>[BUILD] rewrite CMake build system to track changes of source files</title>
<updated>2020-10-16T15:15:49+00:00</updated>
<author>
<name>Manuel Bentele</name>
</author>
<published>2020-10-16T15:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=969496f15e1e0359e26c2c6e995ad4ef82720f86'/>
<id>urn:sha1:969496f15e1e0359e26c2c6e995ad4ef82720f86</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>[SERVER] Add FUSE mode</title>
<updated>2020-07-28T15:49:17+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-07-28T15:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9'/>
<id>urn:sha1:e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9</id>
<content type='text'>
Still needs some cleanup and optimizations, variable naming sucks,
comments, etc.
</content>
</entry>
<entry>
<title>[SERVER] Rewrite uplink queue handling</title>
<updated>2020-03-13T15:03:29+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-03-13T15:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=290d3478f245bb7d2112bb781286a9fbae42b983'/>
<id>urn:sha1:290d3478f245bb7d2112bb781286a9fbae42b983</id>
<content type='text'>
- Now uses linked lists instead of huge array
- Does prefetch data on client requests
- Can have multiple replication requests in-flight
</content>
</entry>
<entry>
<title>[SERVER] Use reference counting for uplink</title>
<updated>2019-08-27T14:13:07+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-27T14:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=69f5bf408b9587a6e2008fba2224c2d506f1a895'/>
<id>urn:sha1:69f5bf408b9587a6e2008fba2224c2d506f1a895</id>
<content type='text'>
First step towards less locking for proxy mode
</content>
</entry>
<entry>
<title>[SERVER] Get rid of alt-servers thread, per-uplink rtt history</title>
<updated>2019-08-22T14:14:27+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-22T14:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=5fb4ef278be86fb6bda487f65ec4855d830bf4e5'/>
<id>urn:sha1:5fb4ef278be86fb6bda487f65ec4855d830bf4e5</id>
<content type='text'>
Alt-Server checks are now run using the threadpool, so we don't need a
queue and dedicated thread anymore. The rtt history is now kept per
uplink, so many uplinks won't overwhelm the history, making its time
window very short.
Also the fail counter is now split up; a global one for when the server
actually isn't reachable, a local (per-uplink) one for when the server
is reachable but doesn't serve the requested image.
</content>
</entry>
<entry>
<title>[SERVER] uplink: More consistent type/variable naming</title>
<updated>2019-08-18T19:31:56+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-18T19:31:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=da0950ad342bae3b40a74bf82dba6c1f82e7eb57'/>
<id>urn:sha1:da0950ad342bae3b40a74bf82dba6c1f82e7eb57</id>
<content type='text'>
* Change link to uplink everywhere
* dnbd3_connection_t -&gt; dnbd3_uplink_t
</content>
</entry>
<entry>
<title>[*] Support hop-counting in request header, protocol version 3</title>
<updated>2017-10-17T10:08:55+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2017-10-17T10:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=102705470366b871109d2c3bf182c151ab71eb01'/>
<id>urn:sha1:102705470366b871109d2c3bf182c151ab71eb01</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>cleanup commits</title>
<updated>2016-02-10T23:09:39+00:00</updated>
<author>
<name>Sebastian</name>
</author>
<published>2016-02-10T20:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=34ddebc84cb9ea933cfdb9cc3fa688b6a2fae78e'/>
<id>urn:sha1:34ddebc84cb9ea933cfdb9cc3fa688b6a2fae78e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[Server] Added statistics of images and uptime to json.</title>
<updated>2015-05-05T16:18:32+00:00</updated>
<author>
<name>Stephan Schwaer</name>
</author>
<published>2015-05-05T16:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=d3ee0d21a16b6e696297b8e1f0c4ad8abdecca37'/>
<id>urn:sha1:d3ee0d21a16b6e696297b8e1f0c4ad8abdecca37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed dnbd3_printClients, added clients to statistics json in rpc.</title>
<updated>2015-05-04T15:23:42+00:00</updated>
<author>
<name>Stephan Schwaer</name>
</author>
<published>2015-05-04T15:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=fa900b4658b21294682760bdf84071cbb2b79aa4'/>
<id>urn:sha1:fa900b4658b21294682760bdf84071cbb2b79aa4</id>
<content type='text'>
</content>
</entry>
</feed>
