mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-30 15:50:10 -04:00
Merge tag 'md-3.6-fixes' of git://neil.brown.name/md
Pull two md bugfixes from NeilBrown: "One (missing spinlock init) was only introduced recently. The other has been present as long as raid10 has been supported, so is tagged for -stable." * tag 'md-3.6-fixes' of git://neil.brown.name/md: md/raid10: fix "enough" function for detecting if array is failed. md/raid5: add missing spin_lock_init.
This commit is contained in:
@@ -1512,14 +1512,16 @@ static int _enough(struct r10conf *conf, struct geom *geo, int ignore)
|
||||
do {
|
||||
int n = conf->copies;
|
||||
int cnt = 0;
|
||||
int this = first;
|
||||
while (n--) {
|
||||
if (conf->mirrors[first].rdev &&
|
||||
first != ignore)
|
||||
if (conf->mirrors[this].rdev &&
|
||||
this != ignore)
|
||||
cnt++;
|
||||
first = (first+1) % geo->raid_disks;
|
||||
this = (this+1) % geo->raid_disks;
|
||||
}
|
||||
if (cnt == 0)
|
||||
return 0;
|
||||
first = (first + geo->near_copies) % geo->raid_disks;
|
||||
} while (first != 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1591,6 +1591,7 @@ static int resize_stripes(struct r5conf *conf, int newsize)
|
||||
#ifdef CONFIG_MULTICORE_RAID456
|
||||
init_waitqueue_head(&nsh->ops.wait_for_ops);
|
||||
#endif
|
||||
spin_lock_init(&nsh->stripe_lock);
|
||||
|
||||
list_add(&nsh->lru, &newstripes);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user