md/raid5: use async_tx_quiesce() instead of open-coding it.
authorNeilBrown <[email protected]>
Tue, 20 Nov 2012 03:11:15 +0000 (14:11 +1100)
committerNeilBrown <[email protected]>
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 <[email protected]>
Reported-by: Bartlomiej Zolnierkiewicz <[email protected]>
Signed-off-by: NeilBrown <[email protected]>
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);
 }
 
 /*