<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/md, branch v3.2.11</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.11</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.11'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2012-03-12T19:31:50Z</updated>
<entry>
<title>dm raid: fix flush support</title>
<updated>2012-03-12T19:31:50Z</updated>
<author>
<name>Jonathan E Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2012-03-07T19:09:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b6f0ec2f968e41af8c44fced27fc345ddb1b8bea'/>
<id>urn:sha1:b6f0ec2f968e41af8c44fced27fc345ddb1b8bea</id>
<content type='text'>
commit 0ca93de9b789e0eb05e103f0c04de72df13da73a upstream.

Fix dm-raid flush support.

Both md and dm have support for flush, but the dm-raid target
forgot to set the flag to indicate that flushes should be
passed on.  (Important for data integrity e.g. with writeback cache
enabled.)

Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm raid: set MD_CHANGE_DEVS when rebuilding</title>
<updated>2012-03-12T19:31:50Z</updated>
<author>
<name>Jonathan E Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2012-03-07T19:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5e3604168b5994e591db2dece06867a035cd5146'/>
<id>urn:sha1:5e3604168b5994e591db2dece06867a035cd5146</id>
<content type='text'>
commit 3aa3b2b2b1edb813dc5342d0108befc39541542d upstream.

The 'rebuild' parameter is used to rebuild individual devices in an
array (e.g. resynchronize a RAID1 device or recalculate a parity device
in higher RAID).  The MD_CHANGE_DEVS flag must be set when this
parameter is given in order to write out the superblocks and make the
change take immediate effect.  The code that handles new devices in
super_load already sets MD_CHANGE_DEVS and 'FirstUse'.  (The 'FirstUse'
flag was being set as a special case for rebuilds in
super_init_validation.)

Add a condition for rebuilds in super_load to take care of both flags
without the special case in 'super_init_validation'.

Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm thin metadata: decrement counter after removing mapped block</title>
<updated>2012-03-12T19:31:46Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2012-03-07T19:09:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=73b249403dcb121671bb1f5df101e9ee59b31160'/>
<id>urn:sha1:73b249403dcb121671bb1f5df101e9ee59b31160</id>
<content type='text'>
commit af63bcb817cf708f53bcae6edc2e3fb7dd7d8051 upstream.

Correct the number of mapped sectors shown on a thin device's
status line by decrementing td-&gt;mapped_blocks in __remove() each time
a block is removed.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm thin metadata: unlock superblock in init_pmd error path</title>
<updated>2012-03-12T19:31:41Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2012-03-07T19:09:43Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b995290dfc5c32a6c7006002e54fed30e4b8f829'/>
<id>urn:sha1:b995290dfc5c32a6c7006002e54fed30e4b8f829</id>
<content type='text'>
commit 4469a5f387fdde956894137751a41473618a4a52 upstream.

If dm_sm_disk_create() fails the superblock must be unlocked.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm thin metadata: remove incorrect close_device on creation error paths</title>
<updated>2012-03-12T19:31:41Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2012-03-07T19:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6cb44f13d19edb09a4d53cef4d17773d9bb03e39'/>
<id>urn:sha1:6cb44f13d19edb09a4d53cef4d17773d9bb03e39</id>
<content type='text'>
commit 1f3db25d8be4ac50b897b39609802183ea68a514 upstream.

The __open_device() error paths in __create_thin() and __create_snap()
incorrectly call __close_device() even if td was not initialized by
__open_device().  Remove this.

Also document __open_device() return values, remove a redundant
td-&gt;changed = 1 in __create_thin(), and insert an additional
safeguard against creating an already-existing device.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm flakey: fix crash on read when corrupt_bio_byte not set</title>
<updated>2012-03-12T19:31:41Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2012-03-07T19:09:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4175e9d6c44519cd60f4a9efbf031cfa37e42be2'/>
<id>urn:sha1:4175e9d6c44519cd60f4a9efbf031cfa37e42be2</id>
<content type='text'>
commit 1212268fd9816e3b8801e57b896fceaec71969ad upstream.

The following BUG is hit on the first read that is submitted to a dm
flakey test device while the device is "down" if the corrupt_bio_byte
feature wasn't requested when the device's table was loaded.

Example DM table that will hit this BUG:
0 2097152 flakey 8:0 2048 0 30

This bug was introduced by commit a3998799fb4df0b0af8271a7d50c4269032397aa
(dm flakey: add corrupt_bio_byte feature) in v3.1-rc1.

BUG: unable to handle kernel paging request at ffff8801cfce3fff
IP: [&lt;ffffffffa008c233&gt;] corrupt_bio_data+0x6e/0xae [dm_flakey]
PGD 1606063 PUD 0
Oops: 0002 [#1] SMP
...
Call Trace:
 &lt;IRQ&gt;
 [&lt;ffffffffa008c2b5&gt;] flakey_end_io+0x42/0x48 [dm_flakey]
 [&lt;ffffffffa00dca98&gt;] clone_endio+0x54/0xb6 [dm_mod]
 [&lt;ffffffff81130587&gt;] bio_endio+0x2d/0x2f
 [&lt;ffffffff811c819a&gt;] req_bio_endio+0x96/0x9f
 [&lt;ffffffff811c94b9&gt;] blk_update_request+0x1dc/0x3a9
 [&lt;ffffffff812f5ee2&gt;] ? rcu_read_unlock+0x21/0x23
 [&lt;ffffffff811c96a6&gt;] blk_update_bidi_request+0x20/0x6e
 [&lt;ffffffff811c9713&gt;] blk_end_bidi_request+0x1f/0x5d
 [&lt;ffffffff811c978d&gt;] blk_end_request+0x10/0x12
 [&lt;ffffffff8128f450&gt;] scsi_io_completion+0x1e5/0x4b1
 [&lt;ffffffff812882a9&gt;] scsi_finish_command+0xec/0xf5
 [&lt;ffffffff8128f830&gt;] scsi_softirq_done+0xff/0x108
 [&lt;ffffffff811ce284&gt;] blk_done_softirq+0x84/0x98
 [&lt;ffffffff81048d19&gt;] __do_softirq+0xe3/0x1d5
 [&lt;ffffffff8138f83f&gt;] ? _raw_spin_lock+0x62/0x69
 [&lt;ffffffff810997cf&gt;] ? handle_irq_event+0x4c/0x61
 [&lt;ffffffff8139833c&gt;] call_softirq+0x1c/0x30
 [&lt;ffffffff81003b37&gt;] do_softirq+0x4b/0xa3
 [&lt;ffffffff81048a39&gt;] irq_exit+0x53/0xca
 [&lt;ffffffff81398acd&gt;] do_IRQ+0x9d/0xb4
 [&lt;ffffffff81390333&gt;] common_interrupt+0x73/0x73
...

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm io: fix discard support</title>
<updated>2012-03-12T19:31:41Z</updated>
<author>
<name>Milan Broz</name>
<email>mbroz@redhat.com</email>
</author>
<published>2012-03-07T19:09:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6cfee3190217a11b1566e2fa6fe9d05c12146f4f'/>
<id>urn:sha1:6cfee3190217a11b1566e2fa6fe9d05c12146f4f</id>
<content type='text'>
commit 0c535e0d6f463365c29623350dbd91642363c39b upstream.

This patch fixes a crash by recognising discards in dm_io.

Currently dm_mirror can send REQ_DISCARD bios if running over a
discard-enabled device and without support in dm_io the system
crashes badly.

BUG: unable to handle kernel paging request at 00800000
IP:  __bio_add_page.part.17+0xf5/0x1e0
...
 bio_add_page+0x56/0x70
 dispatch_io+0x1cf/0x240 [dm_mod]
 ? km_get_page+0x50/0x50 [dm_mod]
 ? vm_next_page+0x20/0x20 [dm_mod]
 ? mirror_flush+0x130/0x130 [dm_mirror]
 dm_io+0xdc/0x2b0 [dm_mod]
...

Introduced in 2.6.38-rc1 by commit 5fc2ffeabb9ee0fc0e71ff16b49f34f0ed3d05b4
(dm raid1: support discard).

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm ioctl: do not leak argv if target message only contains whitespace</title>
<updated>2012-03-12T19:31:41Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2012-03-07T19:09:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e2ece17aceb773d9be4f0eb75f7f7360bcf06259'/>
<id>urn:sha1:e2ece17aceb773d9be4f0eb75f7f7360bcf06259</id>
<content type='text'>
commit 902c6a96a7cb9c50d2a8aed1788efad0a5d8f04c upstream.

If 'argc' is zero we jump to the 'out:' label, but this leaks the
(unused) memory that 'dm_split_args()' allocated for 'argv' if the
string being split consisted entirely of whitespace.  Jump to the
'out_argv:' label instead to free up that memory.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>dm: do not forward ioctls from logical volumes to the underlying device</title>
<updated>2012-01-26T00:13:42Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2012-01-12T15:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=10f176d299c6598b3a94d1257f39410da5ba08e5'/>
<id>urn:sha1:10f176d299c6598b3a94d1257f39410da5ba08e5</id>
<content type='text'>
commit ec8013beddd717d1740cfefb1a9b900deef85462 upstream.

A logical volume can map to just part of underlying physical volume.
In this case, it must be treated like a partition.

Based on a patch from Alasdair G Kergon.

Cc: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: dm-devel@redhat.com
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>md/raid1: perform bad-block tests for WriteMostly devices too.</title>
<updated>2012-01-26T00:13:20Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-01-08T14:41:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=45c5b2b95f829018321325129d824a6154d5f955'/>
<id>urn:sha1:45c5b2b95f829018321325129d824a6154d5f955</id>
<content type='text'>
commit 307729c8bc5b5a41361af8af95906eee7552acb1 upstream.

We normally try to avoid reading from write-mostly devices, but when
we do we really have to check for bad blocks and be sure not to
try reading them.

With the current code, best_good_sectors might not get set and that
causes zero-length read requests to be send down which is very
confusing.

This bug was introduced in commit d2eb35acfdccbe2 and so the patch
is suitable for 3.1.x and 3.2.x

Reported-and-tested-by: Michał Mirosław &lt;mirq-linux@rere.qmqm.pl&gt;
Reported-and-tested-by: Art -kwaak- van Breemen &lt;ard@telegraafnet.nl&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
