<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/Documentation/device-mapper, branch v3.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/Documentation/device-mapper?h=v3.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/Documentation/device-mapper?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-06T01:22:08Z</updated>
<entry>
<title>Merge tag 'md-3.9' of git://neil.brown.name/md</title>
<updated>2013-03-06T01:22:08Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-06T01:22:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5e0d73163a848060ac0c2c054274e84a654986e'/>
<id>urn:sha1:a5e0d73163a848060ac0c2c054274e84a654986e</id>
<content type='text'>
Pull md updates from NeilBrown:
 "Mostly little bugfixes.

  Only "feature" is a new RAID10 layout which slightly improves the
  number of sets of devices that can concurrently fail, without data
  loss."

* tag 'md-3.9' of git://neil.brown.name/md:
  md: expedite metadata update when switching  read-auto -&gt; active
  md: remove CONFIG_MULTICORE_RAID456
  md/raid1,raid10: fix deadlock with freeze_array()
  md/raid0: improve error message when converting RAID4-with-spares to RAID0
  md: raid0: fix error return from create_stripe_zones.
  md: fix two bugs when attempting to resize RAID0 array.
  DM RAID: Add support for MD's RAID10 "far" and "offset" algorithms
  MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 2)
  MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 1)
  MD RAID10: Minor non-functional code changes
  md: raid1,10: Handle REQ_WRITE_SAME flag in write bios
  md: protect against crash upon fsync on ro array
</content>
</entry>
<entry>
<title>dm cache: add cleaner policy</title>
<updated>2013-03-01T22:45:52Z</updated>
<author>
<name>Heinz Mauelshagen</name>
<email>mauelshagen@redhat.com</email>
</author>
<published>2013-03-01T22:45:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8735a8134786fa4ef36dee65d7fa779b99ba5fe3'/>
<id>urn:sha1:8735a8134786fa4ef36dee65d7fa779b99ba5fe3</id>
<content type='text'>
A simple cache policy that writes back all data to the origin.

This is used to decommission a dm cache by emptying it.

Signed-off-by: Heinz Mauelshagen &lt;mauelshagen@redhat.com&gt;
Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache: add mq policy</title>
<updated>2013-03-01T22:45:51Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2013-03-01T22:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f283635281132af7bc7b90af3c105b8c0f73b9c7'/>
<id>urn:sha1:f283635281132af7bc7b90af3c105b8c0f73b9c7</id>
<content type='text'>
A cache policy that uses a multiqueue ordered by recent hit
count to select which blocks should be promoted and demoted.
This is meant to be a general purpose policy.  It prioritises
reads over writes.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm: add cache target</title>
<updated>2013-03-01T22:45:51Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2013-03-01T22:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c6b4fcbad044e6fffcc75bba160e720eb8d67d17'/>
<id>urn:sha1:c6b4fcbad044e6fffcc75bba160e720eb8d67d17</id>
<content type='text'>
Add a target that allows a fast device such as an SSD to be used as a
cache for a slower device such as a disk.

A plug-in architecture was chosen so that the decisions about which data
to migrate and when are delegated to interchangeable tunable policy
modules.  The first general purpose module we have developed, called
"mq" (multiqueue), follows in the next patch.  Other modules are
under development.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Heinz Mauelshagen &lt;mauelshagen@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
<entry>
<title>DM RAID: Add support for MD's RAID10 "far" and "offset" algorithms</title>
<updated>2013-02-26T00:55:36Z</updated>
<author>
<name>Jonathan Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2013-02-21T02:28:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fe5d2f4a15967bbe907e7b3e31e49dae7af7cc6b'/>
<id>urn:sha1:fe5d2f4a15967bbe907e7b3e31e49dae7af7cc6b</id>
<content type='text'>
DM RAID:  Add support for MD's RAID10 "far" and "offset" algorithms

Until now, dm-raid.c only supported the "near" algorthm of MD's RAID10
implementation.  This patch adds support for the "far" and "offset"
algorithms, but only with the improved redundancy that is brought with
the introduction of the 'use_far_sets' bit, which shifts copied stripes
according to smaller sets vs the entire array.  That is, the 17th bit
of the 'layout' variable that defines the RAID10 implementation will
always be set.   (More information on how the 'layout' variable selects
the RAID10 algorithm can be found in the opening comments of
drivers/md/raid10.c.)

Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>DM-RAID: Fix RAID10's check for sufficient redundancy</title>
<updated>2013-01-24T01:02:36Z</updated>
<author>
<name>Jonathan Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2013-01-23T03:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=55ebbb59c1c6eb1b040f62b8c4ae0b724de6e55a'/>
<id>urn:sha1:55ebbb59c1c6eb1b040f62b8c4ae0b724de6e55a</id>
<content type='text'>
Before attempting to activate a RAID array, it is checked for sufficient
redundancy.  That is, we make sure that there are not too many failed
devices - or devices specified for rebuild - to undermine our ability to
activate the array.  The current code performs this check twice - once to
ensure there were not too many devices specified for rebuild by the user
('validate_rebuild_devices') and again after possibly experiencing a failure
to read the superblock ('analyse_superblocks').  Neither of these checks are
sufficient.  The first check is done properly but with insufficient
information about the possible failure state of the devices to make a good
determination if the array can be activated.  The second check is simply
done wrong in the case of RAID10 because it doesn't account for the
independence of the stripes (i.e. mirror sets).  The solution is to use the
properly written check ('validate_rebuild_devices'), but perform the check
after the superblocks have been read and we know which devices have failed.
This gives us one check instead of two and performs it in a location where
it can be done right.

Only RAID10 was affected and it was affected in the following ways:
- the code did not properly catch the condition where a user specified
  a device for rebuild that already had a failed device in the same mirror
  set.  (This condition would, however, be caught at a deeper level in MD.)
- the code triggers a false positive and denies activation when devices in
  independent mirror sets have failed - counting the failures as though they
  were all in the same set.

The most likely place this error was introduced (or this patch should have
been included) is in commit 4ec1e369 - first introduced in v3.7-rc1.
Consequently this fix should also go in v3.7.y, however there is a
small conflict on the .version in raid_target, so I'll submit a
separate patch to -stable.

Cc: stable@vger.kernel.org
Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>DM RAID: Add rebuild capability for RAID10</title>
<updated>2012-10-11T02:40:24Z</updated>
<author>
<name>Jonathan Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2012-10-11T02:40:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ec1e369af83f7ecdfbd48a905e44fc9910115ba'/>
<id>urn:sha1:4ec1e369af83f7ecdfbd48a905e44fc9910115ba</id>
<content type='text'>
DM RAID:  Add code to validate replacement slots for RAID10 arrays

RAID10 can handle 'copies - 1' failures for each mirror group.  This code
ensures the user has provided a valid array - one whose devices specified for
rebuild do not exceed the amount of redundancy available.

Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://neil.brown.name/md</title>
<updated>2012-08-01T16:02:01Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-08-01T16:02:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fcff06c438b60f415af5983efe92811d6aa02ad1'/>
<id>urn:sha1:fcff06c438b60f415af5983efe92811d6aa02ad1</id>
<content type='text'>
Pull md updates from NeilBrown.

* 'for-next' of git://neil.brown.name/md:
  DM RAID: Add support for MD RAID10
  md/RAID1: Add missing case for attempting to repair known bad blocks.
  md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.
  md/raid1: don't abort a resync on the first badblock.
  md: remove duplicated test on -&gt;openers when calling do_md_stop()
  raid5: Add R5_ReadNoMerge flag which prevent bio from merging at block layer
  md/raid1: prevent merging too large request
  md/raid1: read balance chooses idlest disk for SSD
  md/raid1: make sequential read detection per disk based
  MD RAID10: Export md_raid10_congested
  MD: Move macros from raid1*.h to raid1*.c
  MD RAID1: rename mirror_info structure
  MD RAID10: rename mirror_info structure
  MD RAID10: Fix compiler warning.
  raid5: add a per-stripe lock
  raid5: remove unnecessary bitmap write optimization
  raid5: lockless access raid5 overrided bi_phys_segments
  raid5: reduce chance release_stripe() taking device_lock
</content>
</entry>
<entry>
<title>DM RAID: Add support for MD RAID10</title>
<updated>2012-08-01T10:41:20Z</updated>
<author>
<name>Jonathan Brassow</name>
<email>jbrassow@redhat.com</email>
</author>
<published>2012-08-01T02:44:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=63f33b8dda88923487004b20fba825486d009e7b'/>
<id>urn:sha1:63f33b8dda88923487004b20fba825486d009e7b</id>
<content type='text'>
Support the MD RAID10 personality through dm-raid.c

Signed-off-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>dm thin: add read only and fail io modes</title>
<updated>2012-07-27T14:08:16Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2012-07-27T14:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e49e582965b3694f07a106adc83ddb44aa4f0890'/>
<id>urn:sha1:e49e582965b3694f07a106adc83ddb44aa4f0890</id>
<content type='text'>
Add read-only and fail-io modes to thin provisioning.

If a transaction commit fails the pool's metadata device will transition
to "read-only" mode.  If a commit fails once already in read-only mode
the transition to "fail-io" mode occurs.

Once in fail-io mode the pool and all associated thin devices will
report a status of "Fail".

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
</content>
</entry>
</feed>
