<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block/drbd, branch v3.13.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/block/drbd?h=v3.13.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/block/drbd?h=v3.13.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-11-08T16:10:29Z</updated>
<entry>
<title>drbd: avoid to shrink max_bio_size due to peer re-configuration</title>
<updated>2013-11-08T16:10:29Z</updated>
<author>
<name>Lars Ellenberg</name>
<email>lars.ellenberg@linbit.com</email>
</author>
<published>2013-10-23T08:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=35f47ef1a1f069cd2f346314fb8212bb49571eac'/>
<id>urn:sha1:35f47ef1a1f069cd2f346314fb8212bb49571eac</id>
<content type='text'>
For a long time, the receiving side has spread "too large" incoming
requests over multiple bios.  No need to shrink our max_bio_size
(max_hw_sectors) if the peer is reconfigured to use a different storage.

The problem manifests itself if we are not the top of the device stack
(DRBD is used a LVM PV).

A hardware reconfiguration on the peer may cause the supported
max_bio_size to shrink, and the connection handshake would now
unnecessarily shrink the max_bio_size on the active node.

There is no way to notify upper layers that they have to "re-stack"
their limits. So they won't notice at all, and may keep submitting bios
that are suddenly considered "too large for device".

We already check for compatibility and ignore changes on the peer,
the code only was masked out unless we have a fully established connection.
We just need to allow it a bit earlier during the handshake.

Also consider max_hw_sectors in our merge bvec function, just in 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;
</content>
</entry>
<entry>
<title>drbd: fix decoding of bitmap vli rle for device sizes &gt; 64 TB</title>
<updated>2013-11-08T16:10:28Z</updated>
<author>
<name>Lars Ellenberg</name>
<email>lars.ellenberg@linbit.com</email>
</author>
<published>2013-10-23T08:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d2da5b0cb522c48f8e2f311e6e9b212535371b56'/>
<id>urn:sha1:d2da5b0cb522c48f8e2f311e6e9b212535371b56</id>
<content type='text'>
Symptoms: disconnect after bitmap exchange due to
bitmap overflow (e:49731075554) while decoding bm RLE packet

In the decoding step of the variable length integer run length encoding
there was potentially an uncatched bitshift by wordsize (variable &gt;&gt; 64).

The result of which is "undefined" :(
(only "sometimes" the result is the desired 0)

Fix: don't do any bit shift magic for shift == 64, just assign.

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;
</content>
</entry>
<entry>
<title>drbd: Fix adding of new minors with freshly created meta data</title>
<updated>2013-11-08T16:10:28Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-10-23T08:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57737adc965e45fcb03662fe6f93f6efb19e2c0a'/>
<id>urn:sha1:57737adc965e45fcb03662fe6f93f6efb19e2c0a</id>
<content type='text'>
Online adding of new minors with freshly created meta data
to an resource with an established connection failed, with a
wrong state transition on one side on one side of the new minor.

Freshly created meta-data has a la_size (last agreed size) of 0.
When we online add such devices, the code wrongly got into
the code path for resyncing new storage that was added while
the disk was detached.

Fixed that by making the GREW from ZERO a special 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;
</content>
</entry>
<entry>
<title>drbd: Fix an connection drop issue after enabling allow-two-primaries</title>
<updated>2013-11-08T16:10:28Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-10-23T08:59:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b874d231e115af9b2c4a7ed1a4c5ae2db8a21aaf'/>
<id>urn:sha1:b874d231e115af9b2c4a7ed1a4c5ae2db8a21aaf</id>
<content type='text'>
Since drbd-8.4.0 it is possible to change the allow-two-primaries
network option while the connection is established.

The sequence code used to partially order packets from the
data socket with packets from the meta-data socket, still assued
that the allow-two-primaries option is constant while the
connection is established.

I.e.
On a node that has the RESOLVE_CONFLICTS bits set, after enabling
allow-two-primaries, when receiving the next data packet it timed out
while waiting for the necessary packets on the data socket to arrive
(wait_for_and_update_peer_seq() function).

Fixed that by always tracking the sequence number, but only waiting
for it if allow-two-primaries is set.

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;
</content>
</entry>
<entry>
<title>drbd: fix NULL pointer deref in module init error path</title>
<updated>2013-11-08T16:10:28Z</updated>
<author>
<name>Lars Ellenberg</name>
<email>lars.ellenberg@linbit.com</email>
</author>
<published>2013-10-23T08:59:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=69babf05cbe909a9a520b39772655f88b407f257'/>
<id>urn:sha1:69babf05cbe909a9a520b39772655f88b407f257</id>
<content type='text'>
If we want to iterate over the (as of yet still empty) list in the
cleanup path, we need to initialize the list before the first goto fail.

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;
</content>
</entry>
<entry>
<title>treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks</title>
<updated>2013-08-20T11:06:40Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2013-06-19T19:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8be04b9374e59923fa337766aaa74151b95b7099'/>
<id>urn:sha1:8be04b9374e59923fa337766aaa74151b95b7099</id>
<content type='text'>
Don't emit OOM warnings when k.alloc calls fail when
there there is a v.alloc immediately afterwards.

Converted a kmalloc/vmalloc with memset to kzalloc/vzalloc.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>drbd: Allow online change of al-stripes and al-stripe-size</title>
<updated>2013-06-28T14:04:36Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-06-25T14:50:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d752b2696072ed52fd5afab08b601e2220a3b87e'/>
<id>urn:sha1:d752b2696072ed52fd5afab08b601e2220a3b87e</id>
<content type='text'>
Allow to change the AL layout with an resize operation. For that
the reisze command gets two new fields: al_stripes and al_stripe_size.

In order to make the operation crash save:
1) Lock out all IO and MD-IO
2) Write the super block with MDF_PRIMARY_IND clear
3) write the bitmap to the new location (all zeros, since
   we allow only while connected)
4) Initialize the new AL-area
5) Write the super block with the restored MDF_PRIMARY_IND.
6) Unfreeze all IO

Since the AL-layout has no influence on the protocol, this operation
needs to be beforemed on both sides of a resource (if intended).

Signed-off-by: Andreas Gruenbacher &lt;agruen@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>drbd: Constants should be UPPERCASE</title>
<updated>2013-06-28T14:04:36Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-06-25T14:50:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e96c96333fe5a4f252cc4e1d7edde8ee7dce7dfe'/>
<id>urn:sha1:e96c96333fe5a4f252cc4e1d7edde8ee7dce7dfe</id>
<content type='text'>
Signed-off-by: Andreas Gruenbacher &lt;agruen@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>drbd: Ignore the exit code of a fence-peer handler if it returns too late</title>
<updated>2013-06-28T14:04:36Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-06-25T14:50:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=28e448bb30d0f3fc7daa652d2d3a30adaf9e171b'/>
<id>urn:sha1:28e448bb30d0f3fc7daa652d2d3a30adaf9e171b</id>
<content type='text'>
In case the connection was established and lost again before
the a fence-peer handler returns, ignore the exit code of this
instance. (And use the exit code of the later started instance)

Signed-off-by: Andreas Gruenbacher &lt;agruen@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>drbd: Fix rcu_read_lock balance on error path</title>
<updated>2013-06-28T14:04:36Z</updated>
<author>
<name>Andreas Gruenbacher</name>
<email>agruen@linbit.com</email>
</author>
<published>2013-06-25T14:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f9eb7bf424e766e00bbc6d69fd7eaaf4bd003cf9'/>
<id>urn:sha1:f9eb7bf424e766e00bbc6d69fd7eaaf4bd003cf9</id>
<content type='text'>
Signed-off-by: Andreas Gruenbacher &lt;agruen@linbit.com&gt;
Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
</feed>
