<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/raid/md_p.h, branch v3.4.44</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.4.44</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.4.44'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2012-03-13T00:21:23Z</updated>
<entry>
<title>md: Use existed macros instead of numbers</title>
<updated>2012-03-13T00:21:23Z</updated>
<author>
<name>majianpeng</name>
<email>majianpeng@gmail.com</email>
</author>
<published>2012-03-13T00:21:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=43437ecd5adc8bd712b7140c8a70e2b4a80a89dd'/>
<id>urn:sha1:43437ecd5adc8bd712b7140c8a70e2b4a80a89dd</id>
<content type='text'>
Signed-off-by: majianpeng &lt;majianpeng@gmail.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: create externally visible flags for supporting hot-replace.</title>
<updated>2011-12-22T23:17:51Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2011-12-22T23:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2d78f8c451785f030ac1676a18691896b59c69d8'/>
<id>urn:sha1:2d78f8c451785f030ac1676a18691896b59c69d8</id>
<content type='text'>
hot-replace is a feature being added to md which will allow a
device to be replaced without removing it from the array first.

With hot-replace a spare can be activated and recovery can start while
the original device is still in place, thus allowing a transition from
an unreliable device to a reliable device without leaving the array
degraded during the transition.  It can also be use when the original
device is still reliable but it not wanted for some reason.

This will eventually be supported in RAID4/5/6 and RAID10.

This patch adds a super-block flag to distinguish the replacement
device.  If an old kernel sees this flag it will reject the device.

It also adds two per-device flags which are viewable and settable via
sysfs.
   "want_replacement" can be set to request that a device be replaced.
   "replacement" is set to show that this device is replacing another
   device.

The "rd%d" links in /sys/block/mdXx/md only apply to the original
device, not the replacement.  We currently don't make links for the
replacement - there doesn't seem to be a need.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: load/store badblock list from v1.x metadata</title>
<updated>2011-07-28T01:31:47Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2011-07-28T01:31:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2699b67223aca6b1450fc2f72e40fada952afc85'/>
<id>urn:sha1:2699b67223aca6b1450fc2f72e40fada952afc85</id>
<content type='text'>
Space must have been allocated when array was created.
A feature flag is set when the badblock list is non-empty, to
ensure old kernels don't load and trust the whole device.

We only update the on-disk badblocklist when it has changed.
If the badblocklist (or other metadata) is stored on a bad block, we
don't cope very well.

If metadata has no room for bad block, flag bad-blocks as disabled,
and do the same for 0.90 metadata.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>md: fix some comments.</title>
<updated>2009-06-17T22:46:47Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-06-17T22:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cdc2ae6d6a30df8fd92c5e300d0e3005e13eb6b0'/>
<id>urn:sha1:cdc2ae6d6a30df8fd92c5e300d0e3005e13eb6b0</id>
<content type='text'>
1/ Raid5 has learned to take over also raid4 and raid6 arrays.
2/ new_chunk in mdp_superblock_1 is in sectors, not bytes.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>headers_check fix: raid/md_p.h</title>
<updated>2009-01-30T18:02:45Z</updated>
<author>
<name>Jaswinder Singh Rajput</name>
<email>jaswinderrajput@gmail.com</email>
</author>
<published>2009-01-30T14:36:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bcf74582af3feca80ec96cc21d0a26c938d1863e'/>
<id>urn:sha1:bcf74582af3feca80ec96cc21d0a26c938d1863e</id>
<content type='text'>
fix the following 'make headers_check' warning:

  usr/include/linux/raid/md_p.h:85: found __[us]{8,16,32,64} type without #include &lt;linux/types.h&gt;

Signed-off-by: Jaswinder Singh Rajput &lt;jaswinderrajput@gmail.com&gt;
</content>
</entry>
<entry>
<title>md: need another print_sb for mdp_superblock_1</title>
<updated>2009-01-08T21:31:08Z</updated>
<author>
<name>Cheng Renquan</name>
<email>crquan@gmail.com</email>
</author>
<published>2009-01-08T21:31:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cd2ac9321c26dc7a76455cd2a4df89123fa2b73e'/>
<id>urn:sha1:cd2ac9321c26dc7a76455cd2a4df89123fa2b73e</id>
<content type='text'>
md_print_devices is called in two code path: MD_BUG(...), and md_ioctl
with PRINT_RAID_DEBUG.  it will dump out all in use md devices
information;

However, it wrongly processed two types of superblock in one:

The header file &lt;linux/raid/md_p.h&gt; has defined two types of superblock,
struct mdp_superblock_s (typedefed with mdp_super_t) according to md with
metadata 0.90, and struct mdp_superblock_1 according to md with metadata
1.0 and later,

These two types of superblock are very different,

The md_print_devices code processed them both in mdp_super_t, that would
lead to wrong informaton dump like:

	[ 6742.345877]
	[ 6742.345887] md:	**********************************
	[ 6742.345890] md:	* &lt;COMPLETE RAID STATE PRINTOUT&gt; *
	[ 6742.345892] md:	**********************************
	[ 6742.345896] md1: &lt;ram7&gt;&lt;ram6&gt;&lt;ram5&gt;&lt;ram4&gt;
	[ 6742.345907] md: rdev ram7, SZ:00065472 F:0 S:1 DN:3
	[ 6742.345909] md: rdev superblock:
	[ 6742.345914] md:  SB: (V:0.90.0) ID:&lt;42ef13c7.598c059a.5f9f1645.801e9ee6&gt; CT:4919856d
	[ 6742.345918] md:     L5 S00065472 ND:4 RD:4 md1 LO:2 CS:65536
	[ 6742.345922] md:     UT:4919856d ST:1 AD:4 WD:4 FD:0 SD:0 CSUM:b7992907 E:00000001
	[ 6742.345924]      D  0:  DISK&lt;N:0,(1,8),R:0,S:6&gt;
	[ 6742.345930]      D  1:  DISK&lt;N:1,(1,10),R:1,S:6&gt;
	[ 6742.345933]      D  2:  DISK&lt;N:2,(1,12),R:2,S:6&gt;
	[ 6742.345937]      D  3:  DISK&lt;N:3,(1,14),R:3,S:6&gt;
	[ 6742.345942] md:     THIS:  DISK&lt;N:3,(1,14),R:3,S:6&gt;
	...
	[ 6742.346058] md0: &lt;ram3&gt;&lt;ram2&gt;&lt;ram1&gt;&lt;ram0&gt;
	[ 6742.346067] md: rdev ram3, SZ:00065472 F:0 S:1 DN:3
	[ 6742.346070] md: rdev superblock:
	[ 6742.346073] md:  SB: (V:1.0.0) ID:&lt;369aad81.00000000.00000000.00000000&gt; CT:9a322a9c
	[ 6742.346077] md:     L-1507699579 S976570180 ND:48 RD:0 md0 LO:65536 CS:196610
	[ 6742.346081] md:     UT:00000018 ST:0 AD:131048 WD:0 FD:8 SD:0 CSUM:00000000 E:00000000
	[ 6742.346084]      D  0:  DISK&lt;N:-1,(-1,-1),R:-1,S:-1&gt;
	[ 6742.346089]      D  1:  DISK&lt;N:-1,(-1,-1),R:-1,S:-1&gt;
	[ 6742.346092]      D  2:  DISK&lt;N:-1,(-1,-1),R:-1,S:-1&gt;
	[ 6742.346096]      D  3:  DISK&lt;N:-1,(-1,-1),R:-1,S:-1&gt;
	[ 6742.346102] md:     THIS:  DISK&lt;N:0,(0,0),R:0,S:0&gt;
	...
	[ 6742.346219] md:	**********************************
	[ 6742.346221]

Here md1 is metadata 0.90.0, and md0 is metadata 1.2

After some more code to distinguish these two types of superblock, in this patch,

it will generate dump information like:

	[ 7906.755790]
	[ 7906.755799] md:	**********************************
	[ 7906.755802] md:	* &lt;COMPLETE RAID STATE PRINTOUT&gt; *
	[ 7906.755804] md:	**********************************
	[ 7906.755808] md1: &lt;ram7&gt;&lt;ram6&gt;&lt;ram5&gt;&lt;ram4&gt;
	[ 7906.755819] md: rdev ram7, SZ:00065472 F:0 S:1 DN:3
	[ 7906.755821] md: rdev superblock (MJ:0):
	[ 7906.755826] md:  SB: (V:0.90.0) ID:&lt;3fca7a0d.a612bfed.5f9f1645.801e9ee6&gt; CT:491989f3
	[ 7906.755830] md:     L5 S00065472 ND:4 RD:4 md1 LO:2 CS:65536
	[ 7906.755834] md:     UT:491989f3 ST:1 AD:4 WD:4 FD:0 SD:0 CSUM:00fb52ad E:00000001
	[ 7906.755836]      D  0:  DISK&lt;N:0,(1,8),R:0,S:6&gt;
	[ 7906.755842]      D  1:  DISK&lt;N:1,(1,10),R:1,S:6&gt;
	[ 7906.755845]      D  2:  DISK&lt;N:2,(1,12),R:2,S:6&gt;
	[ 7906.755849]      D  3:  DISK&lt;N:3,(1,14),R:3,S:6&gt;
	[ 7906.755855] md:     THIS:  DISK&lt;N:3,(1,14),R:3,S:6&gt;
	...
	[ 7906.755972] md0: &lt;ram3&gt;&lt;ram2&gt;&lt;ram1&gt;&lt;ram0&gt;
	[ 7906.755981] md: rdev ram3, SZ:00065472 F:0 S:1 DN:3
	[ 7906.755984] md: rdev superblock (MJ:1):
	[ 7906.755989] md:  SB: (V:1) (F:0) Array-ID:&lt;5fbcf158:55aa:5fbe:9a79:1e939880dcbd&gt;
	[ 7906.755990] md:    Name: "DG5:0" CT:1226410480
	[ 7906.755998] md:       L5 SZ130944 RD:4 LO:2 CS:128 DO:24 DS:131048 SO:8 RO:0
	[ 7906.755999] md:     Dev:00000003 UUID: 9194d744:87f7:a448:85f2:7497b84ce30a
	[ 7906.756001] md:       (F:0) UT:1226410480 Events:0 ResyncOffset:-1 CSUM:0dbcd829
	[ 7906.756003] md:         (MaxDev:384)
	...
	[ 7906.756113] md:	**********************************
	[ 7906.756116]

this md0 (metadata 1.2) information dumping is exactly according to struct
mdp_superblock_1.

Signed-off-by: Cheng Renquan &lt;crquan@gmail.com&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
Cc: Dan Williams &lt;dan.j.williams@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>md: Remove some unused macros.</title>
<updated>2008-07-11T12:02:23Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2008-07-11T12:02:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7e93a89251d4ed7bd4475db62616ccd03ddfd01a'/>
<id>urn:sha1:7e93a89251d4ed7bd4475db62616ccd03ddfd01a</id>
<content type='text'>
Signed-off-by: Andre Noll &lt;maan@systemlinux.org&gt;
Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: endian annotation for v1 superblock access</title>
<updated>2006-10-21T20:35:05Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-10-21T17:24:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1c05b4bc22cd640d3a534bd2851a8413d5df3709'/>
<id>urn:sha1:1c05b4bc22cd640d3a534bd2851a8413d5df3709</id>
<content type='text'>
Includes a couple of bugfixes found by sparse.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] md: allow checkpoint of recovery with version-1 superblock</title>
<updated>2006-06-26T16:58:37Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2006-06-26T07:27:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9'/>
<id>urn:sha1:5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9</id>
<content type='text'>
For a while we have had checkpointing of resync.  The version-1 superblock
allows recovery to be checkpointed as well, and this patch implements that.

Due to early carelessness we need to add a feature flag to signal that the
recovery_offset field is in use, otherwise older kernels would assume that a
partially recovered array is in fact fully recovered.

Signed-off-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
