<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/Documentation/device-mapper, branch v3.16</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/Documentation/device-mapper?h=v3.16</id>
<link rel='self' href='https://git.amat.us/linux/atom/Documentation/device-mapper?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-05-20T18:30:36Z</updated>
<entry>
<title>dm thin: add 'no_space_timeout' dm-thin-pool module param</title>
<updated>2014-05-20T18:30:36Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-05-20T17:38:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80c578930ce77ba8bcfb226a184b482020bdda7b'/>
<id>urn:sha1:80c578930ce77ba8bcfb226a184b482020bdda7b</id>
<content type='text'>
Commit 85ad643b ("dm thin: add timeout to stop out-of-data-space mode
holding IO forever") introduced a fixed 60 second timeout.  Users may
want to either disable or modify this timeout.

Allow the out-of-data-space timeout to be configured using the
'no_space_timeout' dm-thin-pool module param.  Setting it to 0 will
disable the timeout, resulting in IO being queued until more data space
is added to the thin-pool.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Cc: stable@vger.kernel.org # 3.14+
</content>
</entry>
<entry>
<title>dm: add era target</title>
<updated>2014-03-27T20:56:23Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2014-03-03T15:23:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eec40579d84873dfb7021eb24c50360f073237c5'/>
<id>urn:sha1:eec40579d84873dfb7021eb24c50360f073237c5</id>
<content type='text'>
dm-era is a target that behaves similar to the linear target.  In
addition it keeps track of which blocks were written within a user
defined period of time called an 'era'.  Each era target instance
maintains the current era as a monotonically increasing 32-bit
counter.

Use cases include tracking changed blocks for backup software, and
partially invalidating the contents of a cache to restore cache
coherency after rolling back a vendor snapshot.

dm-era is primarily expected to be paired with the dm-cache target.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin: fix Documentation for held metadata root feature</title>
<updated>2014-03-06T19:23:35Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-03-06T19:04:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f6d16d32797f665100b1507f6a77c4cd0acb30c5'/>
<id>urn:sha1:f6d16d32797f665100b1507f6a77c4cd0acb30c5</id>
<content type='text'>
The Documentation for the thin provisioning target's held metadata root
feature was incorrect.  It is now available and the value for the held
metadata root is in block units (not 512b sectors).

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin: ensure user takes action to validate data and metadata consistency</title>
<updated>2014-03-05T20:25:35Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-02-14T16:58:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=07f2b6e0382ec4c59887d5954683f1a0b265574e'/>
<id>urn:sha1:07f2b6e0382ec4c59887d5954683f1a0b265574e</id>
<content type='text'>
If a thin metadata operation fails the current transaction will abort,
whereby causing potential for IO layers up the stack (e.g. filesystems)
to have data loss.  As such, set THIN_METADATA_NEEDS_CHECK_FLAG in the
thin metadata's superblock which:
1) requires the user verify the thin metadata is consistent (e.g. use
   thin_check, etc)
2) suggests the user verify the thin data is consistent (e.g. use fsck)

The only way to clear the superblock's THIN_METADATA_NEEDS_CHECK_FLAG is
to run thin_repair.

On metadata operation failure: abort current metadata transaction, set
pool in read-only mode, and now set the needs_check flag.

As part of this change, constraints are introduced or relaxed:
* don't allow a pool to transition to write mode if needs_check is set
* don't allow data or metadata space to be resized if needs_check is set
* if a thin pool's metadata space is exhausted: the kernel will now
  force the user to take the pool offline for repair before the kernel
  will allow the metadata space to be extended.

Also, update Documentation to include information about when the thin
provisioning target commits metadata, how it handles metadata failures
and running out of space.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache: add policy name to status output</title>
<updated>2014-01-16T18:44:11Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-01-16T02:06:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e68c4e6caad9fdadc1cef8b6cb9569192e8a42b'/>
<id>urn:sha1:2e68c4e6caad9fdadc1cef8b6cb9569192e8a42b</id>
<content type='text'>
The cache's policy may have been established using the "default" alias,
which is currently the "mq" policy but the default policy may change in
the future.  It is useful to know exactly which policy is being used.

Add a 'real' member to the dm_cache_policy_type structure and have the
"default" dm_cache_policy_type point to the real "mq"
dm_cache_policy_type.  Update dm_cache_policy_get_name() to check if
real is set, if so report the name of the real policy (not the alias).

Requested-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache: add block sizes and total cache blocks to status output</title>
<updated>2014-01-10T15:24:33Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2014-01-09T21:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6a388618f120cdc70cd6b6dbcab5f7a4aff500f6'/>
<id>urn:sha1:6a388618f120cdc70cd6b6dbcab5f7a4aff500f6</id>
<content type='text'>
Improve cache_status to emit:
&lt;metadata block size&gt; &lt;#used metadata blocks&gt;/&lt;#total metadata blocks&gt;
&lt;cache block size&gt; &lt;#used cache blocks&gt;/&lt;#total cache blocks&gt;
...

Adding the block sizes allows for easier calculation of the overall size
of both the metadata and cache devices.  Adding &lt;#total cache blocks&gt;
provides useful context for how much of the cache is used.

Unfortunately these additions to the status will require updates to
users' scripts that monitor the cache status.  But these changes help
provide more comprehensive information about the cache device and will
simplify tools that are being developed to manage dm-cache devices --
because they won't need to issue 3 operations to cobble together the
information that we can easily provide via a single status ioctl.

While updating the status documentation in cache.txt spaces were
tabify'd.

Requested-by: Jonathan Brassow &lt;jbrassow@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Acked-by: Joe Thornber &lt;ejt@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache policy mq: introduce three promotion threshold tunables</title>
<updated>2014-01-07T15:14:33Z</updated>
<author>
<name>Joe Thornber</name>
<email>ejt@redhat.com</email>
</author>
<published>2013-12-09T12:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=78e03d69733c48312ae81fe4ac0790dbea412b9d'/>
<id>urn:sha1:78e03d69733c48312ae81fe4ac0790dbea412b9d</id>
<content type='text'>
Internally the mq policy maintains a promotion threshold variable.  If
the hit count of a block not in the cache goes above this threshold it
gets promoted to the cache.

This patch introduces three new tunables that allow you to tweak the
promotion threshold by adding a small value.  These adjustments depend
on the io type:

   read_promote_adjustment:    READ io, default 4
   write_promote_adjustment:   WRITE io, default 8
   discard_promote_adjustment: READ/WRITE io to a discarded block, default 1

If you're trying to quickly warm a new cache device you may wish to
reduce these to encourage promotion.  Remember to switch them back to
their defaults after the cache fills though.

Signed-off-by: Joe Thornber &lt;ejt@redhat.com&gt;
Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm thin: add error_if_no_space feature</title>
<updated>2014-01-07T15:14:30Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2013-12-06T21:21:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=787a996cb251e20f560e1615cd85693562541a7a'/>
<id>urn:sha1:787a996cb251e20f560e1615cd85693562541a7a</id>
<content type='text'>
If the pool runs out of data or metadata space, the pool can either
queue or error the IO destined to the data device.  The default is to
queue the IO until more space is added.

An admin may now configure the pool to error IO when no space is
available by setting the 'error_if_no_space' feature when loading the
thin-pool table.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Acked-by: Joe Thornber &lt;ejt@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache: update Documentation for invalidate_cblocks's range syntax</title>
<updated>2013-12-10T21:35:15Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2013-11-26T16:03:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=83f539e1a45a07934f0da69dc545bcbde01de36c'/>
<id>urn:sha1:83f539e1a45a07934f0da69dc545bcbde01de36c</id>
<content type='text'>
The cache target's invalidate_cblocks message allows cache block
(cblock) ranges to be expressed with: &lt;cblock start&gt;-&lt;cblock end&gt;

The range's &lt;cblock end&gt; value is "one past the end", so the range
includes &lt;cblock start&gt; through &lt;cblock end&gt;-1.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Acked-by: Joe Thornber &lt;ejt@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm cache: resolve small nits and improve Documentation</title>
<updated>2013-11-12T18:11:09Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2013-11-12T17:17:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7b6b2bc98c0303b7f043ad5b35906f833e56308d'/>
<id>urn:sha1:7b6b2bc98c0303b7f043ad5b35906f833e56308d</id>
<content type='text'>
Document passthrough mode, cache shrinking, and cache invalidation.
Also, use strcasecmp() and hlist_unhashed().

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