md/raid10: remove unnecessary smp_mb() from end_sync_write
authorNeilBrown <neilb@suse.de>
Tue, 13 Mar 2012 00:21:20 +0000 (11:21 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 13 Mar 2012 00:21:20 +0000 (11:21 +1100)
Recent commit 4ca40c2ce099e4f1ce3 (md/raid10: Allow replacement device ...)
added an smp_mb in end_sync_write.
This was to close a possible race with raid10_remove_disk.
However there is no such race as it is never attempted to remove a
disk while resync (or recovery) is happening.
so the smp_mb is just noise.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid10.c

index 58c44d6453a0bfa0fb40f155c0357e4392731999..1a19c962f860a6a1af295de57cdb1cc8fc2c6dbb 100644 (file)
@@ -1682,10 +1682,8 @@ static void end_sync_write(struct bio *bio, int error)
        d = find_bio_disk(conf, r10_bio, bio, &slot, &repl);
        if (repl)
                rdev = conf->mirrors[d].replacement;
-       if (!rdev) {
-               smp_mb();
+       else
                rdev = conf->mirrors[d].rdev;
-       }
 
        if (!uptodate) {
                if (repl)