From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hannes Reinecke Subject: Re: [PATCH 0/4] add crc64 calculation as kernel library Date: Tue, 17 Jul 2018 07:46:46 +0200 Message-ID: <8538b45b-bf30-926a-50fb-700b4bf1c636@suse.de> References: <20180716165507.23100-1-colyli@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20180716165507.23100-1-colyli@suse.de> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Coly Li , linux-kernel@vger.kernel.org Cc: linux-bcache@vger.kernel.org, linux-block@vger.kernel.org, Andy Shevchenko , Greg Kroah-Hartman , "Luis R . Rodriguez" , Linus Torvalds , Thomas Gleixner , Michael Lyle , Kent Overstreet , Kate Stewart List-Id: linux-bcache@vger.kernel.org On 07/16/2018 06:55 PM, Coly Li wrote: > This patch set adds basic implementation of crc64 calculation as Linux > kernel library. Since bcache already does crc64 by itself, this patch > set also modifies bcache code to use the new crc64 library routine. > > bcache uses crc64 as storage checksum, if a change of crc lib routines > results an inconsistent result, the unmatched checksum may make bcache > 'think' the on-disk is corrupted, such change should be avoided or > detected as early as possible. Therefore the last patch in this series > adds a crc test framework, to check consistency of different calculations. > > Coly Li > > Cc: Andy Shevchenko > Cc: Greg Kroah-Hartman > Cc: Luis R. Rodriguez > Cc: Linus Torvalds > Cc: Thomas Gleixner > Cc: Michael Lyle > Cc: Kent Overstreet > Cc: Kate Stewart > --- > Andy Shevchenko (1): > lib/crc64: add crc64 option to lib/Kconfig > > Coly Li (3): > lib: add crc64 calculation routines > bcache: use routines from lib/crc64.c for CRC64 calculation > lib/test_crc: Add test cases for crc calculation > > drivers/md/bcache/bcache.h | 7 +- > drivers/md/bcache/btree.c | 2 +- > drivers/md/bcache/request.c | 2 +- > drivers/md/bcache/super.c | 5 +- > drivers/md/bcache/util.c | 131 ---------------------------------- > drivers/md/bcache/util.h | 5 +- > include/linux/crc64.h | 15 ++++ > lib/.gitignore | 2 + > lib/Kconfig | 8 +++ > lib/Kconfig.debug | 11 +++ > lib/Makefile | 12 ++++ > lib/crc64.c | 71 +++++++++++++++++++ > lib/gen_crc64table.c | 76 ++++++++++++++++++++ > lib/test_crc.c | 136 ++++++++++++++++++++++++++++++++++++ > 14 files changed, 341 insertions(+), 142 deletions(-) > create mode 100644 include/linux/crc64.h > create mode 100644 lib/crc64.c > create mode 100644 lib/gen_crc64table.c > create mode 100644 lib/test_crc.c > Actually, I would merge patch 1 & 2 together (pointless to introduce an option for which no code exists). Otherwise for the whole series: Reviewed-by: Hannes Reinecke Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)