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 <andriy.shevchenko@xxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Michael Lyle <mlyle@xxxxxxxx> > Cc: Kent Overstreet <kent.overstreet@xxxxxxxxx> > Cc: Kate Stewart <kstewart@xxxxxxxxxxxxxxxxxxx> > --- > 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 <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +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) -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html