* grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
for the right device.
This commit is contained in:
parent
8bec9a284b
commit
09e2763fb1
2 changed files with 10 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
|
||||||
|
for the right device.
|
||||||
|
|
||||||
2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
|
2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* include/grub/kernel.h (grub_module_header): Make type into uint32 as
|
* include/grub/kernel.h (grub_module_header): Make type into uint32 as
|
||||||
|
|
|
@ -122,7 +122,7 @@ grub_raid6_recover (struct grub_raid_array *array, int disknr, int p,
|
||||||
{
|
{
|
||||||
if ((array->members[pos].device) &&
|
if ((array->members[pos].device) &&
|
||||||
(! grub_disk_read (array->members[pos].device,
|
(! grub_disk_read (array->members[pos].device,
|
||||||
array->members[i].start_sector + sector,
|
array->members[pos].start_sector + sector,
|
||||||
0, size, buf)))
|
0, size, buf)))
|
||||||
{
|
{
|
||||||
grub_raid_block_xor (pbuf, buf, size);
|
grub_raid_block_xor (pbuf, buf, size);
|
||||||
|
@ -154,7 +154,7 @@ grub_raid6_recover (struct grub_raid_array *array, int disknr, int p,
|
||||||
/* One bad device */
|
/* One bad device */
|
||||||
if ((array->members[p].device) &&
|
if ((array->members[p].device) &&
|
||||||
(! grub_disk_read (array->members[p].device,
|
(! grub_disk_read (array->members[p].device,
|
||||||
array->members[i].start_sector + sector,
|
array->members[p].start_sector + sector,
|
||||||
0, size, buf)))
|
0, size, buf)))
|
||||||
{
|
{
|
||||||
grub_raid_block_xor (buf, pbuf, size);
|
grub_raid_block_xor (buf, pbuf, size);
|
||||||
|
@ -169,7 +169,7 @@ grub_raid6_recover (struct grub_raid_array *array, int disknr, int p,
|
||||||
|
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
if (grub_disk_read (array->members[q].device,
|
if (grub_disk_read (array->members[q].device,
|
||||||
array->members[i].start_sector + sector, 0, size, buf))
|
array->members[q].start_sector + sector, 0, size, buf))
|
||||||
goto quit;
|
goto quit;
|
||||||
|
|
||||||
grub_raid_block_xor (buf, qbuf, size);
|
grub_raid_block_xor (buf, qbuf, size);
|
||||||
|
@ -188,14 +188,14 @@ grub_raid6_recover (struct grub_raid_array *array, int disknr, int p,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (grub_disk_read (array->members[p].device,
|
if (grub_disk_read (array->members[p].device,
|
||||||
array->members[i].start_sector + sector,
|
array->members[p].start_sector + sector,
|
||||||
0, size, buf))
|
0, size, buf))
|
||||||
goto quit;
|
goto quit;
|
||||||
|
|
||||||
grub_raid_block_xor (pbuf, buf, size);
|
grub_raid_block_xor (pbuf, buf, size);
|
||||||
|
|
||||||
if (grub_disk_read (array->members[q].device,
|
if (grub_disk_read (array->members[q].device,
|
||||||
array->members[i].start_sector + sector,
|
array->members[q].start_sector + sector,
|
||||||
0, size, buf))
|
0, size, buf))
|
||||||
goto quit;
|
goto quit;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue