<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/md, branch v3.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/md?h=v3.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/md?h=v3.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-03-09T01:21:51Z</updated>
<entry>
<title>Merge tag 'dm-3.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm</title>
<updated>2012-03-09T01:21:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-09T01:21:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5d0edf29151bb5ba372784b7e369f42cf23a94eb'/>
<id>urn:sha1:5d0edf29151bb5ba372784b7e369f42cf23a94eb</id>
<content type='text'>
Pull device-mapper fixes for 3.3 from Alasdair Kergon

Eight small device-mapper bug fixes.

* tag 'dm-3.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
  dm raid: fix flush support
  dm raid: set MD_CHANGE_DEVS when rebuilding
  dm thin metadata: decrement counter after removing mapped block
  dm thin metadata: unlock superblock in init_pmd error path
  dm thin metadata: remove incorrect close_device on creation error paths
  dm flakey: fix crash on read when corrupt_bio_byte not set
  dm io: fix discard support
  dm ioctl: do not leak argv if target message only contains whitespace
</content>
</entry>
<entry>
<title>dm raid: fix flush support</title>
<updated>2012-03-07T19:09:48Z</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.amat.us/linux/commit/?id=0ca93de9b789e0eb05e103f0c04de72df13da73a'/>
<id>urn:sha1:0ca93de9b789e0eb05e103f0c04de72df13da73a</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm raid: set MD_CHANGE_DEVS when rebuilding</title>
<updated>2012-03-07T19:09:47Z</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.amat.us/linux/commit/?id=3aa3b2b2b1edb813dc5342d0108befc39541542d'/>
<id>urn:sha1:3aa3b2b2b1edb813dc5342d0108befc39541542d</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin metadata: decrement counter after removing mapped block</title>
<updated>2012-03-07T19:09:44Z</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.amat.us/linux/commit/?id=af63bcb817cf708f53bcae6edc2e3fb7dd7d8051'/>
<id>urn:sha1:af63bcb817cf708f53bcae6edc2e3fb7dd7d8051</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin metadata: unlock superblock in init_pmd error path</title>
<updated>2012-03-07T19:09:43Z</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.amat.us/linux/commit/?id=4469a5f387fdde956894137751a41473618a4a52'/>
<id>urn:sha1:4469a5f387fdde956894137751a41473618a4a52</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin metadata: remove incorrect close_device on creation error paths</title>
<updated>2012-03-07T19:09: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.amat.us/linux/commit/?id=1f3db25d8be4ac50b897b39609802183ea68a514'/>
<id>urn:sha1:1f3db25d8be4ac50b897b39609802183ea68a514</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm flakey: fix crash on read when corrupt_bio_byte not set</title>
<updated>2012-03-07T19:09:39Z</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.amat.us/linux/commit/?id=1212268fd9816e3b8801e57b896fceaec71969ad'/>
<id>urn:sha1:1212268fd9816e3b8801e57b896fceaec71969ad</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org # 3.1+
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm io: fix discard support</title>
<updated>2012-03-07T19:09:37Z</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.amat.us/linux/commit/?id=0c535e0d6f463365c29623350dbd91642363c39b'/>
<id>urn:sha1:0c535e0d6f463365c29623350dbd91642363c39b</id>
<content type='text'>
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;
Cc: stable@kernel.org
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm ioctl: do not leak argv if target message only contains whitespace</title>
<updated>2012-03-07T19:09:34Z</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.amat.us/linux/commit/?id=902c6a96a7cb9c50d2a8aed1788efad0a5d8f04c'/>
<id>urn:sha1:902c6a96a7cb9c50d2a8aed1788efad0a5d8f04c</id>
<content type='text'>
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;
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'md-3.3-fixes' of git://neil.brown.name/md</title>
<updated>2012-03-06T00:01:25Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-06T00:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2e5f13ce806e79b5a234f9653a2a245424e29fa'/>
<id>urn:sha1:a2e5f13ce806e79b5a234f9653a2a245424e29fa</id>
<content type='text'>
Pull md fixes from Neil Brown:
 "Three fixes for md in 3.3-rc: Two relate to the recently added drive
  replacement.  One fixes the problem where a read error in RAID10 would
  sometimes be retried indefinitely."

* tag 'md-3.3-fixes' of git://neil.brown.name/md:
  md/raid10: fix assembling of arrays with replacement devices.
  md/raid10: fix handling of error on last working device in array.
  md/raid1: fix buglet in md_raid1_contested.
</content>
</entry>
</feed>
