<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/md/bitmap.c, branch v2.6.34</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.34</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.34'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2009-12-14T01:51:41Z</updated>
<entry>
<title>md/bitmap: update dirty flag when bitmap bits are explicitly set.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ffa23322b1596bb1a115e767d4251b62842adc23'/>
<id>urn:sha1:ffa23322b1596bb1a115e767d4251b62842adc23</id>
<content type='text'>
There is a sysfs file which allows bits in the write-intent
bitmap to be explicit set - indicating that the block is thought
to be 'dirty'.
When this happens we should really set recovery_cp backwards
to include the block to reflect this dirtiness.

In particular, a 'resync' process will refuse to start if
recovery_cp is beyond the end of the array, so this is needed
to allow a resync to be triggered.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: Support write-intent bitmaps with externally managed metadata.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ece5cff0da9e696c360fff592cb5f51b6419e4d6'/>
<id>urn:sha1:ece5cff0da9e696c360fff592cb5f51b6419e4d6</id>
<content type='text'>
In this case, the metadata needs to not be in the same
sector as the bitmap.
md will not read/write any bitmap metadata.  Config must be
done via sysfs and when a recovery makes the array non-degraded
again, writing 'true' to 'bitmap/can_clear' will allow bits in
the bitmap to be cleared again.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md/bitmap: move setting of daemon_lastrun out of bitmap_read_sb</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=624ce4f5658fa3e0303c1217bba2706142fe7568'/>
<id>urn:sha1:624ce4f5658fa3e0303c1217bba2706142fe7568</id>
<content type='text'>
Setting daemon_lastrun really has nothing to do with reading
the bitmap superblock, it just happens to be needed at the same time.
bitmap_read_sb is about to become options, so move that code out
to after the call to bitmap_read_sb.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: support updating bitmap parameters via sysfs.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=43a705076e51c5af21ec4260a35699775ea298f5'/>
<id>urn:sha1:43a705076e51c5af21ec4260a35699775ea298f5</id>
<content type='text'>
A new attribute directory 'bitmap' in 'md' is created which
contains files for configuring the bitmap.
'location' identifies where the bitmap is, either 'none',
or 'file' or 'sector offset from metadata'.
Writing 'location' can create or remove a bitmap.
Adding a 'file' bitmap this way is not yet supported.
'chunksize' and 'time_base' must be set before 'location'
can be set.

'chunksize' can be set before creating a bitmap, but is
currently always over-ridden by the bitmap superblock.

'time_base' and 'backlog' can be updated at any time.


Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Reviewed-by: Andre Noll &lt;maan@systemlinux.org&gt;
</content>
</entry>
<entry>
<title>md: support bitmap offset appropriate for external-metadata arrays.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f6af949c5672115313cc3c976d85b0533f607d7e'/>
<id>urn:sha1:f6af949c5672115313cc3c976d85b0533f607d7e</id>
<content type='text'>
For md arrays were metadata is managed externally, the kernel does not
know about a superblock so the superblock offset is 0.
If we want to have a write-intent-bitmap near the end of the
devices of such an array, we should support sector_t sized offset.
We need offset be possibly negative for when the bitmap is before
the metadata, so use loff_t instead.

Also add sanity check that bitmap does not overlap with data.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: remove needless setting of thread-&gt;timeout in raid10_quiesce</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9cd30fdc33cde9ae4ac55a1ccbbb89f3f7b9b2f2'/>
<id>urn:sha1:9cd30fdc33cde9ae4ac55a1ccbbb89f3f7b9b2f2</id>
<content type='text'>
As bitmap_create and bitmap_destroy already set thread-&gt;timeout
as appropriate, there is no need to do it in raid10_quiesce.
There is a possible need to wake the thread after the timeout
has been set low, but it is better to do that where the timeout
is actually set low, in bitmap_create.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: change daemon_sleep to be in 'jiffies' rather than 'seconds'.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1b04be96f6910ee415287bf0d5309c7d4c94bd2b'/>
<id>urn:sha1:1b04be96f6910ee415287bf0d5309c7d4c94bd2b</id>
<content type='text'>
This removes a lot of multiplications by HZ.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: move offset, daemon_sleep and chunksize out of bitmap structure</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=42a04b5078ce73a32f85762551d5703c5bd646a1'/>
<id>urn:sha1:42a04b5078ce73a32f85762551d5703c5bd646a1</id>
<content type='text'>
... and into bitmap_info.  These are all configuration parameters
that need to be set before the bitmap is created.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: collect bitmap-specific fields into one structure.</title>
<updated>2009-12-14T01:51:41Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c3d9714e88c8685cf9bc837c3241fc005f95fb82'/>
<id>urn:sha1:c3d9714e88c8685cf9bc837c3241fc005f95fb82</id>
<content type='text'>
In preparation for making bitmap fields configurable via sysfs,
start tidying up by making a single structure to contain the
configuration fields.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md/bitmap: protect against bitmap removal while being updated.</title>
<updated>2009-12-14T01:49:46Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-12-14T01:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=aa5cbd103887011b4830355f88fb055f9ad2d556'/>
<id>urn:sha1:aa5cbd103887011b4830355f88fb055f9ad2d556</id>
<content type='text'>
A write intent bitmap can be removed from an array while the
array is active.
When this happens, all IO is suspended and flushed before the
bitmap is removed.
However it is possible that bitmap_daemon_work is still running to
clear old bits from the bitmap.  If it is, it can dereference the
bitmap after it has been freed.

So introduce a new mutex to protect bitmap_daemon_work and get it
before destroying a bitmap.

This is suitable for any current -stable kernel.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Cc: stable@kernel.org
</content>
</entry>
</feed>
