On 2018/7/17 1:46 PM, Hannes Reinecke wrote: > 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 >> Hi Hannes, > Actually, I would merge patch 1 & 2 together (pointless to introduce an > option for which no code exists). The patch 1 was originally from Andy Shevchenko, and I want to keep his contribute. If it seems not a good idea from me, I will merge them into 1 patch in v2 series. > Otherwise for the whole series: > > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Thanks. Coly Li