git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Disable page allocation warnings for ARC buffers
[zfs.git]
/
module
/
zfs
/
vdev_mirror.c
diff --git
a/module/zfs/vdev_mirror.c
b/module/zfs/vdev_mirror.c
index
698c027
..
96623d2
100644
(file)
--- a/
module/zfs/vdev_mirror.c
+++ b/
module/zfs/vdev_mirror.c
@@
-79,7
+79,7
@@
vdev_mirror_map_alloc(zio_t *zio)
c = BP_GET_NDVAS(zio->io_bp);
c = BP_GET_NDVAS(zio->io_bp);
- mm = kmem_zalloc(offsetof(mirror_map_t, mm_child[c]), KM_
SLEEP
);
+ mm = kmem_zalloc(offsetof(mirror_map_t, mm_child[c]), KM_
PUSHPAGE
);
mm->mm_children = c;
mm->mm_replacing = B_FALSE;
mm->mm_preferred = spa_get_random(c);
mm->mm_children = c;
mm->mm_replacing = B_FALSE;
mm->mm_preferred = spa_get_random(c);
@@
-106,7
+106,7
@@
vdev_mirror_map_alloc(zio_t *zio)
} else {
c = vd->vdev_children;
} else {
c = vd->vdev_children;
- mm = kmem_zalloc(offsetof(mirror_map_t, mm_child[c]), KM_
SLEEP
);
+ mm = kmem_zalloc(offsetof(mirror_map_t, mm_child[c]), KM_
PUSHPAGE
);
mm->mm_children = c;
mm->mm_replacing = (vd->vdev_ops == &vdev_replacing_ops ||
vd->vdev_ops == &vdev_spare_ops);
mm->mm_children = c;
mm->mm_replacing = (vd->vdev_ops == &vdev_replacing_ops ||
vd->vdev_ops == &vdev_spare_ops);
@@
-131,6
+131,7
@@
vdev_mirror_open(vdev_t *vd, uint64_t *asize, uint64_t *ashift)
{
int numerrors = 0;
int lasterror = 0;
{
int numerrors = 0;
int lasterror = 0;
+ int c;
if (vd->vdev_children == 0) {
vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL;
if (vd->vdev_children == 0) {
vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL;
@@
-139,7
+140,7
@@
vdev_mirror_open(vdev_t *vd, uint64_t *asize, uint64_t *ashift)
vdev_open_children(vd);
vdev_open_children(vd);
- for (
int
c = 0; c < vd->vdev_children; c++) {
+ for (c = 0; c < vd->vdev_children; c++) {
vdev_t *cvd = vd->vdev_child[c];
if (cvd->vdev_open_error) {
vdev_t *cvd = vd->vdev_child[c];
if (cvd->vdev_open_error) {
@@
-163,7
+164,9
@@
vdev_mirror_open(vdev_t *vd, uint64_t *asize, uint64_t *ashift)
static void
vdev_mirror_close(vdev_t *vd)
{
static void
vdev_mirror_close(vdev_t *vd)
{
- for (int c = 0; c < vd->vdev_children; c++)
+ int c;
+
+ for (c = 0; c < vd->vdev_children; c++)
vdev_close(vd->vdev_child[c]);
}
vdev_close(vd->vdev_child[c]);
}
@@
-311,9
+314,9
@@
vdev_mirror_io_start(zio_t *zio)
static int
vdev_mirror_worst_error(mirror_map_t *mm)
{
static int
vdev_mirror_worst_error(mirror_map_t *mm)
{
- int error[2] = { 0, 0 };
+ int
c,
error[2] = { 0, 0 };
- for (
int
c = 0; c < mm->mm_children; c++) {
+ for (c = 0; c < mm->mm_children; c++) {
mirror_child_t *mc = &mm->mm_child[c];
int s = mc->mc_speculative;
error[s] = zio_worst_error(error[s], mc->mc_error);
mirror_child_t *mc = &mm->mm_child[c];
int s = mc->mc_speculative;
error[s] = zio_worst_error(error[s], mc->mc_error);