<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dnbd3.git/src/server/integrity.c, 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/integrity.c?h=isfant</id>
<link rel='self' href='https://git.openslx.org/dnbd3.git/atom/src/server/integrity.c?h=isfant'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/'/>
<updated>2024-07-05T08:48:29+00:00</updated>
<entry>
<title>[SERVER] Verify checksums of all images on SIGUSR1</title>
<updated>2024-07-05T08:48:29+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2024-07-05T08:48:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=ae91f373cf5ce045fe65df022fae151fe915c6c3'/>
<id>urn:sha1:ae91f373cf5ce045fe65df022fae151fe915c6c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] integrity: Add comments, line wraps, add check for full scan</title>
<updated>2024-07-04T14:21:17+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2024-07-04T14:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=1b3068f57a7c23e5ab86744afc2690140245698f'/>
<id>urn:sha1:1b3068f57a7c23e5ab86744afc2690140245698f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Remove "working" flag, introduce fine-grained flags</title>
<updated>2020-03-03T11:21:01+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-03-03T11:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=26c1ad7af0f5749c5343a5823b9c8cece885ce84'/>
<id>urn:sha1:26c1ad7af0f5749c5343a5823b9c8cece885ce84</id>
<content type='text'>
Tracking the "working" state of images using one boolean is insufficient
regarding the different ways in which providing an image can fail.
Introduce separate flags for different conditions, like "file not
readable", "file not writable", "no uplink server available", "file
content has changed".
</content>
</entry>
<entry>
<title>[SERVER] Fix checking images without cache map</title>
<updated>2019-10-29T16:55:20+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-10-29T16:55:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=3d0c89fccf14599d156696d74224a4fbe0787777'/>
<id>urn:sha1:3d0c89fccf14599d156696d74224a4fbe0787777</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[*] Fix/simplify checks for linux</title>
<updated>2019-09-17T12:56:03+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-09-17T12:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=53fbcc89f027992e29c96086dd32eb624e181eac'/>
<id>urn:sha1:53fbcc89f027992e29c96086dd32eb624e181eac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Make integrity checks on startup async</title>
<updated>2019-09-10T15:49:05+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-09-10T15:49:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=fdcbdcac2e721d72136794bdc45c63d71799dcd5'/>
<id>urn:sha1:fdcbdcac2e721d72136794bdc45c63d71799dcd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] integrity checker: Improve flushing logic</title>
<updated>2019-09-05T14:52:31+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-09-05T14:52:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=5765ce49f5e1e26505fd6b162db73a732603d1a8'/>
<id>urn:sha1:5765ce49f5e1e26505fd6b162db73a732603d1a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Use weakref for cache maps</title>
<updated>2019-08-29T12:49:18+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-29T12:49:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=88695877f085af475a6ca8a01c2fbb08eb5b15da'/>
<id>urn:sha1:88695877f085af475a6ca8a01c2fbb08eb5b15da</id>
<content type='text'>
Gets rid of a bunch of locking, especially the hot path in net.c where
clients are requesting data. Many clients unsing the same incomplete
image previously created a bottleneck here.
</content>
</entry>
<entry>
<title>[SERVER] Speed up shutdown of integrity checker</title>
<updated>2019-08-28T20:14:34+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-28T20:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=0fb5ec7152c79d10711139158533f96204755788'/>
<id>urn:sha1:0fb5ec7152c79d10711139158533f96204755788</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Make signal handling more POSIX</title>
<updated>2019-08-28T11:07:13+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-28T11:07:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=ac1bf45ebdd630fbc9ad2c1fa3c0ea99f5206799'/>
<id>urn:sha1:ac1bf45ebdd630fbc9ad2c1fa3c0ea99f5206799</id>
<content type='text'>
According to POSIX, a signal sent to a PID can be delivered to an
arbitrary thread of that process that hasn't the signal blocked. This
seens to never happen on Linux, but would mess things up since the code
expected the main signal handler to only be executed by the main thread.
This should now be fixed by examining the destination PID of the signal
as well as the ID of the thread currently running the signal handler. If
we notice the signal wasn't sent by our own PID and the handler is not
currently run by the main thread, we re-send the signal to the main
thread. Otherwise, if the signal was sent by our own PID but the handler
is not run in the main thread, do nothing. This way we can use
pthread_kill() to wake up threads that might be stuck in a blocking
syscall when it's time to shut down.
</content>
</entry>
</feed>
