On 03/26/2014 10:14 PM, Stan Hoeppner wrote:
On 3/26/2014 3:00 PM, Tide wrote:
...
=================
Array 2 (RAID 6):
=================
# mdadm --examine /dev/sdb1
...
Raid Level : raid6
Raid Devices : 5
...
Bad Block Log : 512 entries available at offset 72 sectors
The RAID6 array has sectors on each drive reserved for bad block
reassignment. The RAID5 array does not.
This is the answer to your mystery.
Commits and code do not confirm this assumption.
__u16 bblog_size; /* number of sectors reserved for badblocklist */
...
printf(" Bad Block Log : %d entries available at offset %ld sectors",
__le16_to_cpu(sb->bblog_size)*512/8,
So 512 bad-block-log entries only need 8 sectors and that would still
fit into the data offset of 2048 bytes (array 1). The
write-intent-bitmap is also not that big. But this commit log gives the
correct answer
commit 508a7f16b242d6c3353e15aab46ac8ca8dc7cd08
Author: NeilBrown <neilb@xxxxxxx>
Date: Wed Apr 4 14:00:40 2012 +1000
super1: leave more space in front of data by default.
The kernel is growing the ability to avoid the need for a
backup file during reshape by being able to change the data offset.
For this to be useful we need plenty of free space before the
data so the data offset can be reduced.
So for v1.1 and v1.2 metadata make the default data_offset much
larger. Aim for 128Meg, but keep a power of 2 and don't use more
than 0.1% of each device.
Don't change v1.0 as that is used when the data_offset is required to
be zero.
Bernd
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html