From: Matthew Wilcox <willy@infradead.org> To: Gao Xiang <gaoxiang25@huawei.com>, Dave Chinner <david@fromorbit.com>, Goldwyn Rodrigues <RGoldwyn@suse.com>, "hch@lst.de" <hch@lst.de>, "darrick.wong@oracle.com" <darrick.wong@oracle.com>, "linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>, "ruansy.fnst@cn.fujitsu.com" <ruansy.fnst@cn.fujitsu.com>, "linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>, linux-erofs@lists.ozlabs.org, miaoxie@huawei.com Subject: Re: [PATCH 10/13] iomap: use a function pointer for dio submits Date: Fri, 9 Aug 2019 13:45:17 -0700 [thread overview] Message-ID: <20190809204517.GR5482@bombadil.infradead.org> (raw) In-Reply-To: <20190808054936.GA5319@sol.localdomain> On Wed, Aug 07, 2019 at 10:49:36PM -0700, Eric Biggers wrote: > On Thu, Aug 08, 2019 at 12:26:42PM +0800, Gao Xiang wrote: > > 1. decrypt->verity->decompress > > > > 2. verity->decompress->decrypt > > > > 3. decompress->decrypt->verity > > > > 1. and 2. could cause less computation since it processes > > compressed data, and the security is good enough since > > the behavior of decompression algorithm is deterministic. > > 3 could cause more computation. > > > > All I want to say is the post process is so complicated since we have > > many selection if encryption, decompression, verification are all involved. > > > > Maybe introduce a core subset to IOMAP is better for long-term > > maintainment and better performance. And we should consider it > > more carefully. > > > > FWIW, the only order that actually makes sense is decrypt->decompress->verity. That used to be true, but a paper in 2004 suggested it's not true. Further work in this space in 2009 based on block ciphers: https://arxiv.org/pdf/1009.1759 It looks like it'd be computationally expensive to do, but feasible. > Decrypt before decompress, i.e. encrypt after compress, because only the > plaintext can be compressible; the ciphertext isn't.
WARNING: multiple messages have this Message-ID (diff)
From: willy@infradead.org (Matthew Wilcox) Subject: [PATCH 10/13] iomap: use a function pointer for dio submits Date: Fri, 9 Aug 2019 13:45:17 -0700 [thread overview] Message-ID: <20190809204517.GR5482@bombadil.infradead.org> (raw) In-Reply-To: <20190808054936.GA5319@sol.localdomain> On Wed, Aug 07, 2019@10:49:36PM -0700, Eric Biggers wrote: > On Thu, Aug 08, 2019@12:26:42PM +0800, Gao Xiang wrote: > > 1. decrypt->verity->decompress > > > > 2. verity->decompress->decrypt > > > > 3. decompress->decrypt->verity > > > > 1. and 2. could cause less computation since it processes > > compressed data, and the security is good enough since > > the behavior of decompression algorithm is deterministic. > > 3 could cause more computation. > > > > All I want to say is the post process is so complicated since we have > > many selection if encryption, decompression, verification are all involved. > > > > Maybe introduce a core subset to IOMAP is better for long-term > > maintainment and better performance. And we should consider it > > more carefully. > > > > FWIW, the only order that actually makes sense is decrypt->decompress->verity. That used to be true, but a paper in 2004 suggested it's not true. Further work in this space in 2009 based on block ciphers: https://arxiv.org/pdf/1009.1759 It looks like it'd be computationally expensive to do, but feasible. > Decrypt before decompress, i.e. encrypt after compress, because only the > plaintext can be compressible; the ciphertext isn't.
next prev parent reply other threads:[~2019-08-09 20:45 UTC|newest] Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-02 22:00 [PATCH v2 0/13] Btrfs iomap Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 01/13] iomap: Use a IOMAP_COW/srcmap for a read-modify-write I/O Goldwyn Rodrigues 2019-08-03 0:39 ` Darrick J. Wong 2019-08-05 0:06 ` Dave Chinner 2019-08-02 22:00 ` [PATCH 02/13] iomap: Read page from srcmap for IOMAP_COW Goldwyn Rodrigues 2019-08-03 0:23 ` Darrick J. Wong 2019-08-04 23:52 ` Dave Chinner 2019-08-02 22:00 ` [PATCH 03/13] btrfs: Eliminate PagePrivate for btrfs data pages Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 04/13] btrfs: Add a simple buffered iomap write Goldwyn Rodrigues 2019-08-05 0:11 ` Dave Chinner 2019-08-22 15:05 ` Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 05/13] btrfs: Add CoW in iomap based writes Goldwyn Rodrigues 2019-08-05 0:13 ` Dave Chinner 2019-08-22 15:01 ` Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 06/13] btrfs: remove buffered write code made unnecessary Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 07/13] btrfs: basic direct read operation Goldwyn Rodrigues 2019-08-12 12:32 ` RITESH HARJANI 2019-08-22 15:00 ` Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 08/13] btrfs: Carve out btrfs_get_extent_map_write() out of btrfs_get_blocks_write() Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 09/13] btrfs: Rename __endio_write_update_ordered() to btrfs_update_ordered_extent() Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 10/13] iomap: use a function pointer for dio submits Goldwyn Rodrigues 2019-08-03 0:21 ` Darrick J. Wong 2019-08-05 16:08 ` Goldwyn Rodrigues 2019-08-04 23:43 ` Dave Chinner 2019-08-05 16:08 ` Goldwyn Rodrigues 2019-08-05 21:54 ` Dave Chinner 2019-08-08 4:26 ` Gao Xiang 2019-08-08 4:26 ` Gao Xiang 2019-08-08 4:52 ` Gao Xiang 2019-08-08 4:52 ` Gao Xiang 2019-08-08 5:49 ` Eric Biggers 2019-08-08 5:49 ` Eric Biggers 2019-08-08 6:28 ` Gao Xiang 2019-08-08 6:28 ` Gao Xiang 2019-08-08 8:16 ` Dave Chinner 2019-08-08 8:16 ` Dave Chinner 2019-08-08 8:57 ` Gao Xiang 2019-08-08 8:57 ` Gao Xiang 2019-08-08 9:29 ` Gao Xiang 2019-08-08 9:29 ` Gao Xiang 2019-08-08 11:21 ` Gao Xiang 2019-08-08 11:21 ` Gao Xiang 2019-08-08 13:11 ` Gao Xiang 2019-08-08 13:11 ` Gao Xiang 2019-08-09 20:45 ` Matthew Wilcox [this message] 2019-08-09 20:45 ` Matthew Wilcox 2019-08-09 23:45 ` Gao Xiang 2019-08-09 23:45 ` Gao Xiang 2019-08-10 0:31 ` Eric Biggers 2019-08-10 0:31 ` Eric Biggers 2019-08-10 0:50 ` Eric Biggers 2019-08-10 0:50 ` Eric Biggers 2019-08-10 1:34 ` Gao Xiang 2019-08-10 1:34 ` Gao Xiang 2019-08-10 1:13 ` Gao Xiang 2019-08-10 1:13 ` Gao Xiang 2019-08-10 0:17 ` Eric Biggers 2019-08-10 0:17 ` Eric Biggers 2019-08-02 22:00 ` [PATCH 11/13] btrfs: Use iomap_dio_rw for performing direct I/O writes Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 12/13] btrfs: Remove btrfs_dio_data and __btrfs_direct_write Goldwyn Rodrigues 2019-08-02 22:00 ` [PATCH 13/13] btrfs: update inode size during bio completion Goldwyn Rodrigues
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190809204517.GR5482@bombadil.infradead.org \ --to=willy@infradead.org \ --cc=RGoldwyn@suse.com \ --cc=darrick.wong@oracle.com \ --cc=david@fromorbit.com \ --cc=gaoxiang25@huawei.com \ --cc=hch@lst.de \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-erofs@lists.ozlabs.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=miaoxie@huawei.com \ --cc=ruansy.fnst@cn.fujitsu.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.