dm: Add scaffolding to change completion function signature
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 6 Feb 2023 10:22:12 +0000 (18:22 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 13 Feb 2023 10:34:48 +0000 (18:34 +0800)
This patch adds temporary scaffolding so that the Crypto API
completion function can take a void * instead of crypto_async_request.
Once affected users have been converted this can be removed.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/md/dm-crypt.c
drivers/md/dm-integrity.c

index 2653516..7609fe3 100644 (file)
@@ -1458,8 +1458,7 @@ static int crypt_convert_block_skcipher(struct crypt_config *cc,
        return r;
 }
 
-static void kcryptd_async_done(struct crypto_async_request *async_req,
-                              int error);
+static void kcryptd_async_done(crypto_completion_data_t *async_req, int error);
 
 static int crypt_alloc_req_skcipher(struct crypt_config *cc,
                                     struct convert_context *ctx)
@@ -2147,10 +2146,9 @@ static void kcryptd_crypt_read_convert(struct dm_crypt_io *io)
        crypt_dec_pending(io);
 }
 
-static void kcryptd_async_done(struct crypto_async_request *async_req,
-                              int error)
+static void kcryptd_async_done(crypto_completion_data_t *data, int error)
 {
-       struct dm_crypt_request *dmreq = async_req->data;
+       struct dm_crypt_request *dmreq = crypto_get_completion_data(data);
        struct convert_context *ctx = dmreq->ctx;
        struct dm_crypt_io *io = container_of(ctx, struct dm_crypt_io, ctx);
        struct crypt_config *cc = io->cc;
index 1388ee3..eefe25e 100644 (file)
@@ -955,9 +955,9 @@ static void xor_journal(struct dm_integrity_c *ic, bool encrypt, unsigned sectio
        async_tx_issue_pending_all();
 }
 
-static void complete_journal_encrypt(struct crypto_async_request *req, int err)
+static void complete_journal_encrypt(crypto_completion_data_t *data, int err)
 {
-       struct journal_completion *comp = req->data;
+       struct journal_completion *comp = crypto_get_completion_data(data);
        if (unlikely(err)) {
                if (likely(err == -EINPROGRESS)) {
                        complete(&comp->ic->crypto_backoff);