Commit 2a415a02 authored by Eric Biggers's avatar Eric Biggers

fscrypt: remove the "write" part of struct fscrypt_ctx

Now that fscrypt_ctx is not used for writes, remove the 'w' fields.
Reviewed-by: default avatarChandan Rajendra <chandan@linux.ibm.com>
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent d2d0727b
...@@ -53,9 +53,8 @@ EXPORT_SYMBOL(fscrypt_decrypt_bio); ...@@ -53,9 +53,8 @@ EXPORT_SYMBOL(fscrypt_decrypt_bio);
static void completion_pages(struct work_struct *work) static void completion_pages(struct work_struct *work)
{ {
struct fscrypt_ctx *ctx = struct fscrypt_ctx *ctx = container_of(work, struct fscrypt_ctx, work);
container_of(work, struct fscrypt_ctx, r.work); struct bio *bio = ctx->bio;
struct bio *bio = ctx->r.bio;
__fscrypt_decrypt_bio(bio, true); __fscrypt_decrypt_bio(bio, true);
fscrypt_release_ctx(ctx); fscrypt_release_ctx(ctx);
...@@ -64,9 +63,9 @@ static void completion_pages(struct work_struct *work) ...@@ -64,9 +63,9 @@ static void completion_pages(struct work_struct *work)
void fscrypt_enqueue_decrypt_bio(struct fscrypt_ctx *ctx, struct bio *bio) void fscrypt_enqueue_decrypt_bio(struct fscrypt_ctx *ctx, struct bio *bio)
{ {
INIT_WORK(&ctx->r.work, completion_pages); INIT_WORK(&ctx->work, completion_pages);
ctx->r.bio = bio; ctx->bio = bio;
fscrypt_enqueue_decrypt_work(&ctx->r.work); fscrypt_enqueue_decrypt_work(&ctx->work);
} }
EXPORT_SYMBOL(fscrypt_enqueue_decrypt_bio); EXPORT_SYMBOL(fscrypt_enqueue_decrypt_bio);
......
...@@ -59,11 +59,11 @@ void fscrypt_enqueue_decrypt_work(struct work_struct *work) ...@@ -59,11 +59,11 @@ void fscrypt_enqueue_decrypt_work(struct work_struct *work)
EXPORT_SYMBOL(fscrypt_enqueue_decrypt_work); EXPORT_SYMBOL(fscrypt_enqueue_decrypt_work);
/** /**
* fscrypt_release_ctx() - Releases an encryption context * fscrypt_release_ctx() - Release a decryption context
* @ctx: The encryption context to release. * @ctx: The decryption context to release.
* *
* If the encryption context was allocated from the pre-allocated pool, returns * If the decryption context was allocated from the pre-allocated pool, return
* it to that pool. Else, frees it. * it to that pool. Else, free it.
*/ */
void fscrypt_release_ctx(struct fscrypt_ctx *ctx) void fscrypt_release_ctx(struct fscrypt_ctx *ctx)
{ {
...@@ -80,12 +80,12 @@ void fscrypt_release_ctx(struct fscrypt_ctx *ctx) ...@@ -80,12 +80,12 @@ void fscrypt_release_ctx(struct fscrypt_ctx *ctx)
EXPORT_SYMBOL(fscrypt_release_ctx); EXPORT_SYMBOL(fscrypt_release_ctx);
/** /**
* fscrypt_get_ctx() - Gets an encryption context * fscrypt_get_ctx() - Get a decryption context
* @gfp_flags: The gfp flag for memory allocation * @gfp_flags: The gfp flag for memory allocation
* *
* Allocates and initializes an encryption context. * Allocate and initialize a decryption context.
* *
* Return: A new encryption context on success; an ERR_PTR() otherwise. * Return: A new decryption context on success; an ERR_PTR() otherwise.
*/ */
struct fscrypt_ctx *fscrypt_get_ctx(gfp_t gfp_flags) struct fscrypt_ctx *fscrypt_get_ctx(gfp_t gfp_flags)
{ {
......
...@@ -63,16 +63,13 @@ struct fscrypt_operations { ...@@ -63,16 +63,13 @@ struct fscrypt_operations {
unsigned int max_namelen; unsigned int max_namelen;
}; };
/* Decryption work */
struct fscrypt_ctx { struct fscrypt_ctx {
union { union {
struct {
struct page *bounce_page; /* Ciphertext page */
struct page *control_page; /* Original page */
} w;
struct { struct {
struct bio *bio; struct bio *bio;
struct work_struct work; struct work_struct work;
} r; };
struct list_head free_list; /* Free list */ struct list_head free_list; /* Free list */
}; };
u8 flags; /* Flags */ u8 flags; /* Flags */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment