forked from Minki/linux
md: raid0: Remove hash table.
The raid0 hash table has become unused due to the changes in the previous patch. This patch removes the hash table allocation and setup code and kills the hash_table field of struct raid0_private_data. Signed-off-by: Andre Noll <maan@systemlinux.org> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
d27a43abd7
commit
09770e0b6e
@ -326,22 +326,14 @@ static int raid0_run (mddev_t *mddev)
|
|||||||
nb_zone = s + round;
|
nb_zone = s + round;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "raid0 : nb_zone is %d.\n", nb_zone);
|
printk(KERN_INFO "raid0 : nb_zone is %d.\n", nb_zone);
|
||||||
|
|
||||||
printk(KERN_INFO "raid0 : Allocating %zu bytes for hash.\n",
|
|
||||||
nb_zone*sizeof(struct strip_zone*));
|
|
||||||
conf->hash_table = kmalloc (sizeof (struct strip_zone *)*nb_zone, GFP_KERNEL);
|
|
||||||
if (!conf->hash_table)
|
|
||||||
goto out_free_conf;
|
|
||||||
sectors = conf->strip_zone[cur].sectors;
|
sectors = conf->strip_zone[cur].sectors;
|
||||||
|
|
||||||
conf->hash_table[0] = conf->strip_zone + cur;
|
|
||||||
for (i=1; i< nb_zone; i++) {
|
for (i=1; i< nb_zone; i++) {
|
||||||
while (sectors <= conf->spacing) {
|
while (sectors <= conf->spacing) {
|
||||||
cur++;
|
cur++;
|
||||||
sectors += conf->strip_zone[cur].sectors;
|
sectors += conf->strip_zone[cur].sectors;
|
||||||
}
|
}
|
||||||
sectors -= conf->spacing;
|
sectors -= conf->spacing;
|
||||||
conf->hash_table[i] = conf->strip_zone + cur;
|
|
||||||
}
|
}
|
||||||
if (conf->sector_shift) {
|
if (conf->sector_shift) {
|
||||||
conf->spacing >>= conf->sector_shift;
|
conf->spacing >>= conf->sector_shift;
|
||||||
@ -384,8 +376,6 @@ static int raid0_stop (mddev_t *mddev)
|
|||||||
raid0_conf_t *conf = mddev_to_conf(mddev);
|
raid0_conf_t *conf = mddev_to_conf(mddev);
|
||||||
|
|
||||||
blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
|
blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
|
||||||
kfree(conf->hash_table);
|
|
||||||
conf->hash_table = NULL;
|
|
||||||
kfree(conf->strip_zone);
|
kfree(conf->strip_zone);
|
||||||
conf->strip_zone = NULL;
|
conf->strip_zone = NULL;
|
||||||
kfree(conf);
|
kfree(conf);
|
||||||
@ -494,8 +484,6 @@ static void raid0_status (struct seq_file *seq, mddev_t *mddev)
|
|||||||
h = 0;
|
h = 0;
|
||||||
for (j = 0; j < conf->nr_strip_zones; j++) {
|
for (j = 0; j < conf->nr_strip_zones; j++) {
|
||||||
seq_printf(seq, " z%d", j);
|
seq_printf(seq, " z%d", j);
|
||||||
if (conf->hash_table[h] == conf->strip_zone+j)
|
|
||||||
seq_printf(seq, "(h%d)", h++);
|
|
||||||
seq_printf(seq, "=[");
|
seq_printf(seq, "=[");
|
||||||
for (k = 0; k < conf->strip_zone[j].nb_dev; k++)
|
for (k = 0; k < conf->strip_zone[j].nb_dev; k++)
|
||||||
seq_printf(seq, "%s/", bdevname(
|
seq_printf(seq, "%s/", bdevname(
|
||||||
|
@ -12,7 +12,6 @@ struct strip_zone
|
|||||||
|
|
||||||
struct raid0_private_data
|
struct raid0_private_data
|
||||||
{
|
{
|
||||||
struct strip_zone **hash_table; /* Table of indexes into strip_zone */
|
|
||||||
struct strip_zone *strip_zone;
|
struct strip_zone *strip_zone;
|
||||||
mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
|
mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
|
||||||
int nr_strip_zones;
|
int nr_strip_zones;
|
||||||
|
Loading…
Reference in New Issue
Block a user