From: Giovanni Cabiddu Subject: Re: [PATCH v3 3/4] btrfs: Add zstd support Date: Wed, 26 Jul 2017 00:19:29 +0100 Message-ID: <20170725231929.GA28789@silv-upstream1.ir.intel.com> References: <20170720212743.3351201-1-terrelln@fb.com> <20170720212743.3351201-4-terrelln@fb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Austin S . Hemmelgarn" , Herbert Xu , "kernel-team@fb.com" , Chris Mason , Yann Collet , Adam Borowski , David Sterba , "squashfs-devel@lists.sourceforge.net" , "linux-btrfs@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-crypto@vger.kernel.org" , Weigang Li , Brian Will , Brian A Keating , Giovanni Cabiddu To: Nick Terrell Return-path: Received: from mga06.intel.com ([134.134.136.31]:52089 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750896AbdGYXTe (ORCPT ); Tue, 25 Jul 2017 19:19:34 -0400 Content-Disposition: inline In-Reply-To: <20170720212743.3351201-4-terrelln@fb.com> Sender: linux-crypto-owner@vger.kernel.org List-ID: Hi Nick, On Thu, Jul 20, 2017 at 10:27:42PM +0100, Nick Terrell wrote: > Add zstd compression and decompression support to BtrFS. zstd at its > fastest level compresses almost as well as zlib, while offering much > faster compression and decompression, approaching lzo speeds. Can we look at integrating the zstd implementation below the acomp API available in the crypto subsystem? (https://github.com/torvalds/linux/blob/master/crypto/acompress.c) Acomp was designed to provide a generic and uniform API for compression in the kernel which hides algorithm specific details to frameworks. In future it would be nice to see btrfs using exclusively acomp for compression. This way when a new compression algorithm is exposed through acomp, it will be available immediately in btrfs. Furthermore, any framework in the kernel that will use acomp will be automatically enabled to use zstd. What do you think? Here is a prototype that shows how btrfs can be integrated with acomp: https://patchwork.kernel.org/patch/9201741/ Regards, -- Giovanni