Merge commit 'refs/top-bases/fix-branch' into fix-branch
This commit is contained in:
commit
5b9ebcb897
|
@ -1716,7 +1716,7 @@ vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors)
|
||||||
void *orig[VDEV_RAIDZ_MAXPARITY];
|
void *orig[VDEV_RAIDZ_MAXPARITY];
|
||||||
int tstore[VDEV_RAIDZ_MAXPARITY + 2];
|
int tstore[VDEV_RAIDZ_MAXPARITY + 2];
|
||||||
int *tgts = &tstore[1];
|
int *tgts = &tstore[1];
|
||||||
int current, next, i, c, n;
|
int curr, next, i, c, n;
|
||||||
int code, ret = 0;
|
int code, ret = 0;
|
||||||
|
|
||||||
ASSERT(total_errors < rm->rm_firstdatacol);
|
ASSERT(total_errors < rm->rm_firstdatacol);
|
||||||
|
@ -1764,12 +1764,12 @@ vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors)
|
||||||
|
|
||||||
orig[n - 1] = zio_buf_alloc(rm->rm_col[0].rc_size);
|
orig[n - 1] = zio_buf_alloc(rm->rm_col[0].rc_size);
|
||||||
|
|
||||||
current = 0;
|
curr = 0;
|
||||||
next = tgts[current];
|
next = tgts[curr];
|
||||||
|
|
||||||
while (current != n) {
|
while (curr != n) {
|
||||||
tgts[current] = next;
|
tgts[curr] = next;
|
||||||
current = 0;
|
curr = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Save off the original data that we're going to
|
* Save off the original data that we're going to
|
||||||
|
@ -1817,34 +1817,34 @@ vdev_raidz_combrec(zio_t *zio, int total_errors, int data_errors)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
/*
|
/*
|
||||||
* Find the next valid column after the current
|
* Find the next valid column after the curr
|
||||||
* position..
|
* position..
|
||||||
*/
|
*/
|
||||||
for (next = tgts[current] + 1;
|
for (next = tgts[curr] + 1;
|
||||||
next < rm->rm_cols &&
|
next < rm->rm_cols &&
|
||||||
rm->rm_col[next].rc_error != 0; next++)
|
rm->rm_col[next].rc_error != 0; next++)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ASSERT(next <= tgts[current + 1]);
|
ASSERT(next <= tgts[curr + 1]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If that spot is available, we're done here.
|
* If that spot is available, we're done here.
|
||||||
*/
|
*/
|
||||||
if (next != tgts[current + 1])
|
if (next != tgts[curr + 1])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Otherwise, find the next valid column after
|
* Otherwise, find the next valid column after
|
||||||
* the previous position.
|
* the previous position.
|
||||||
*/
|
*/
|
||||||
for (c = tgts[current - 1] + 1;
|
for (c = tgts[curr - 1] + 1;
|
||||||
rm->rm_col[c].rc_error != 0; c++)
|
rm->rm_col[c].rc_error != 0; c++)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
tgts[current] = c;
|
tgts[curr] = c;
|
||||||
current++;
|
curr++;
|
||||||
|
|
||||||
} while (current != n);
|
} while (curr != n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
n--;
|
n--;
|
||||||
|
|
Loading…
Reference in New Issue