<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/block/drbd/drbd_receiver.c, branch linux-3.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-05-19T17:54:48Z</updated>
<entry>
<title>drbd: fix for deadlock when using automatic split-brain-recovery</title>
<updated>2013-05-19T17:54:48Z</updated>
<author>
<name>Philipp Reisner</name>
</author>
<published>2013-03-27T13:08:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e0bc33ad782e6dfc69796c4dcbbfa7338019548'/>
<id>urn:sha1:2e0bc33ad782e6dfc69796c4dcbbfa7338019548</id>
<content type='text'>
commit 7c689e63a847316c1b2500f86891b0a574ce7e69 upstream.

With an automatic after split-brain recovery policy of
"after-sb-1pri call-pri-lost-after-sb",
when trying to drbd_set_role() to R_SECONDARY,
we run into a deadlock.

This was first recognized and supposedly fixed by
2009-06-10 "Fixed a deadlock when using automatic split brain recovery when both nodes are"
replacing drbd_set_role() with drbd_change_state() in that code-path,
but the first hunk of that patch forgets to remove the drbd_set_role().

We apparently only ever tested the "two primaries" case.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Jonghwan Choi &lt;jhbird.choi@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drbd: when receive times out on meta socket, also check last receive time on data socket</title>
<updated>2011-06-30T07:23:44Z</updated>
<author>
<name>Lars Ellenberg</name>
</author>
<published>2011-06-20T12:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb6518cbef5e3e36b7ae90fcab610a52ea7e9fc0'/>
<id>urn:sha1:cb6518cbef5e3e36b7ae90fcab610a52ea7e9fc0</id>
<content type='text'>
If we have an asymetrically congested network, we may send P_PING,
but due to congestion, the corresponding P_PING_ACK would time out,
and we would drop a (congested, but otherwise) healthy connection
("PingAck did not arrive in time.")

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: fix warning</title>
<updated>2011-05-24T08:38:32Z</updated>
<author>
<name>Philipp Reisner</name>
</author>
<published>2011-05-24T08:27:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b2f61aec73dc9e735e247fd720c673b30999e7c'/>
<id>urn:sha1:9b2f61aec73dc9e735e247fd720c673b30999e7c</id>
<content type='text'>
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Fix spelling</title>
<updated>2011-05-24T08:21:29Z</updated>
<author>
<name>Bart Van Assche</name>
</author>
<published>2011-05-21T16:32:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24c4830c8ec3cbc904d84c213126a35f41a4e455'/>
<id>urn:sha1:24c4830c8ec3cbc904d84c213126a35f41a4e455</id>
<content type='text'>
Found these with the help of ispell -l.

Signed-off-by: Bart Van Assche &lt;bvanassche@acm.org&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Take a more conservative approach when deciding max_bio_size</title>
<updated>2011-05-24T08:08:58Z</updated>
<author>
<name>Philipp Reisner</name>
</author>
<published>2011-05-20T14:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99432fcc528d7a5ac8494a4c07ad4726670c96e2'/>
<id>urn:sha1:99432fcc528d7a5ac8494a4c07ad4726670c96e2</id>
<content type='text'>
The old (optimistic) implementation could shrink the bio size
on an primary device.

Shrinking the bio size on a primary device is bad. Since there
we might get BIOs with the old (bigger) size shortly after
we published the new size.

The new implementation is more conservative, and eventually
increases the max_bio_size on a primary device (which is valid).
It does so, when it knows the local limit AND the remote limit.

 We cache the last seen max_bio_size of the peer in the meta
 data, and rely on that, to make the operation of single
 nodes more efficient.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: Fix for the connection problems on high latency links</title>
<updated>2011-05-24T08:07:22Z</updated>
<author>
<name>Philipp Reisner</name>
</author>
<published>2011-05-13T10:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8e407925d49c521151dd24b6376c1f9a04a093f'/>
<id>urn:sha1:a8e407925d49c521151dd24b6376c1f9a04a093f</id>
<content type='text'>
It seems that the real cause of all the issues where that
we did not noticed in drbd_try_connect() when the other
guy closes one socket if the round trip time gets higher
than 100ms. There were that 100ms hard coded!

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: fix disconnect/reconnect loop, if ping-timeout == ping-int</title>
<updated>2011-05-24T08:03:30Z</updated>
<author>
<name>Lars Ellenberg</name>
</author>
<published>2011-03-09T21:44:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f36af18c7b4ea1ba333c09b606bb4a7e5af66b4d'/>
<id>urn:sha1:f36af18c7b4ea1ba333c09b606bb4a7e5af66b4d</id>
<content type='text'>
If there is no replication traffic within the idle timeout
(ping-int seconds), DRBD will send a P_PING,
and adjust the timeout to ping-timeout.

If there is no P_PING_ACK received within this ping-timeout,
DRBD finally drops the connection, and tries to re-establish it.

To decide which timeout was active, we compared the current timeout
with the ping-timeout, and dropped the connection, if that was the case.

By default, ping-int is 10 seconds, ping-timeout is 500 ms.

Unfortunately, if you configure ping-timeout to be the same as ping-int,
expiry of the idle-timeout had been mistaken for a missing ping ack,
and caused an immediate reconnection attempt.

Fix:
Allow both timeouts to be equal, use a local variable
to store which timeout is active.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>drbd: Implemented real timeout checking for request processing time</title>
<updated>2011-03-10T10:48:16Z</updated>
<author>
<name>Philipp Reisner</name>
</author>
<published>2011-03-01T10:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7fde2be93080c028c20078a2d6abec8a95891192'/>
<id>urn:sha1:7fde2be93080c028c20078a2d6abec8a95891192</id>
<content type='text'>
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
<entry>
<title>drbd: improve log message if received sector offset exceeds local capacity</title>
<updated>2011-03-10T10:48:13Z</updated>
<author>
<name>Lars Ellenberg</name>
</author>
<published>2011-01-24T14:11:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdda6544ad4d3284246e717b7108f7f497b45295'/>
<id>urn:sha1:fdda6544ad4d3284246e717b7108f7f497b45295</id>
<content type='text'>
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
</content>
</entry>
</feed>
