[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20104514.oSSJcvNEEM@localhost.localdomain>
Date: Mon, 19 Aug 2019 19:03:23 +0530
From: Chandan Rajendra <chandan@...ux.ibm.com>
To: Chao Yu <chao@...nel.org>
Cc: linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net,
linux-fscrypt@...r.kernel.org, hch@...radead.org, tytso@....edu,
ebiggers@...nel.org, adilger.kernel@...ger.ca,
chandanrmail@...il.com, jaegeuk@...nel.org
Subject: Re: [f2fs-dev] [PATCH V4 5/8] f2fs: Use read_callbacks for decrypting file data
On Sunday, August 18, 2019 7:15:42 PM IST Chao Yu wrote:
> Hi Chandan,
>
> On 2019-8-16 14:18, Chandan Rajendra wrote:
> > F2FS has a copy of "post read processing" code using which encrypted
> > file data is decrypted. This commit replaces it to make use of the
> > generic read_callbacks facility.
>
> I remember that previously Jaegeuk had mentioned f2fs will support compression
> later, and it needs to reuse 'post read processing' fwk.
>
> There is very initial version of compression feature in below link:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/log/?h=compression
>
> So my concern is how can we uplift the most common parts of this fwk into vfs,
> and meanwhile keeping the ability and flexibility when introducing private
> feature/step in specified filesytem(now f2fs)?
>
> According to current f2fs compression's requirement, maybe we can expand to
>
> - support callback to let filesystem set the function for the flow in
> decompression/verity/decryption step.
> - support to use individual/common workqueue according the parameter.
>
> Any thoughts?
>
Hi,
F2FS can be made to use fscrypt's queue for decryption and hence can reuse
"read callbacks" code for decrypting data.
For decompression, we could have a STEP_MISC where we invoke a FS provided
callback function for FS specific post read processing?
Something like the following can be implemented in read_callbacks(),
case STEP_MISC:
if (ctx->enabled_steps & (1 << STEP_MISC)) {
/*
ctx->fs_misc() must process bio in a workqueue
and later invoke read_callbacks() with
bio->bi_private's value as an argument.
*/
ctx->fs_misc(ctx->bio);
return;
}
ctx->cur_step++;
The fs_misc() callback can be passed in by the filesystem when invoking
read_callbacks_setup_bio().
--
chandan
Powered by blists - more mailing lists