commit 639a347254c4b8daa22ce09c281259dce7f6ba71
Author: Markus Stockhausen [off-list ref]
Date: Sun Aug 10 09:25:55 2014 +0000
raid5: fix init_stripe() inconsistencies
1) remove_hash() is not necessary. We will only be called right after
get_free_stripe(). There we have already a call to remove_hash().
2) Tracing prints out the sector of the freed stripe and not the sector
that we want to initialize.
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 7f66741..c4cd245 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -527,9 +527,7 @@ static void init_stripe(struct stripe_head *sh, sector_t sector, int previous)
BUG_ON(stripe_operations_active(sh));
pr_debug("init_stripe called, stripe %llu\n",
- (unsigned long long)sh->sector);
-
- remove_hash(sh);
+ (unsigned long long)sector);
retry:
seq = read_seqcount_begin(&conf->gen_lock);
sh->generation = conf->generation - previous;