md/raid5: use async_tx_quiesce() instead of open-coding it.
authorNeilBrown <neilb@suse.de>
Tue, 20 Nov 2012 03:11:15 +0000 (14:11 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 13 Dec 2012 08:52:32 +0000 (19:52 +1100)
handle_stripe_expansion contains:

        if (tx) {
                async_tx_ack(tx);
                dma_wait_for_async_tx(tx);
        }

which is very similar to the body of async_tx_quiesce(),
except that the later handles an error from dma_wait_for_async_tx()
(admittedly by panicing, but that decision belongs in the dma
code, not the md code).

So just us async_tx_quiesce().

Acked-by: Dan Williams <djbw@fb.com>
Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid5.c

index a4502686e7a8763fb5aeded988f026b2a9dd1c99..2cf23f23ddca2721e9f336d24bc99a48c7c51b47 100644 (file)
@@ -3224,10 +3224,7 @@ static void handle_stripe_expansion(struct r5conf *conf, struct stripe_head *sh)
 
                }
        /* done submitting copies, wait for them to complete */
-       if (tx) {
-               async_tx_ack(tx);
-               dma_wait_for_async_tx(tx);
-       }
+       async_tx_quiesce(&tx);
 }
 
 /*