mbox series

[v5,0/7] btrfs-progs: support xxhash64 checksums

Message ID 20190925133728.18027-1-jthumshirn@suse.de (mailing list archive)
Headers show
Series btrfs-progs: support xxhash64 checksums | expand

Message

Johannes Thumshirn Sept. 25, 2019, 1:37 p.m. UTC
Now that Nikolay's XXHASH64 support for the Crypto API has landed and BTRFS is
prepared for an easy addition of new checksums, this patchset implements
XXHASH64 as a second, fast but not cryptographically secure checksum hash.

This patchset is fully bisectible and available on github at
https://github.com/morbidrsa/btrfs-progs/tree/mkfs-xxhash64.v5

Changes since v4:
- Rebased onto latest 'devel' branch and dropped applied changes
- Split 'btrfs-progs: add xxhash64 as checksum algorithm' into several atomic
  patches
- Changed test code to using 'TEST_ENABLE_OVERRIDE'

Johannes Thumshirn (7):
  btrfs-progs: add option for checksum type to mkfs
  btrfs-progs: add is_valid_csum_type() helper
  btrfs-progs: add table for checksum type and name
  btrfs-progs: also print checksum type when running mkfs
  btrfs-progs: add xxhash64 to mkfs
  btrfs-progs: move crc32c implementation to crypto/
  btrfs-progs: add test override for mkfs to use different checksums

 Android.mk                                  |  4 ++--
 Makefile                                    |  7 ++++---
 btrfs-crc.c                                 |  2 +-
 btrfs-find-root.c                           |  2 +-
 btrfs-sb-mod.c                              |  2 +-
 btrfs.c                                     |  2 +-
 cmds/inspect-dump-super.c                   | 26 ++++++++++++++++----------
 cmds/rescue-chunk-recover.c                 |  2 +-
 cmds/rescue-super-recover.c                 |  2 +-
 common/utils.c                              |  2 +-
 convert/common.c                            |  2 +-
 convert/main.c                              |  6 +++---
 {kernel-lib => crypto}/crc32c.c             |  2 +-
 {kernel-lib => crypto}/crc32c.h             |  0
 crypto/hash.c                               | 17 +++++++++++++++++
 crypto/hash.h                               | 10 ++++++++++
 ctree.c                                     | 28 ++++++++++++++++++++++++++++
 ctree.h                                     | 18 +++++++-----------
 disk-io.c                                   |  9 ++++++---
 extent-tree.c                               |  2 +-
 file-item.c                                 |  2 +-
 free-space-cache.c                          |  2 +-
 hash.h                                      |  2 +-
 image/main.c                                |  7 ++++---
 image/sanitize.c                            |  2 +-
 library-test.c                              |  2 +-
 mkfs/common.c                               | 14 +++++++-------
 mkfs/main.c                                 | 10 ++++++++--
 send-stream.c                               |  2 +-
 tests/common                                | 10 ++++++++--
 tests/mkfs-tests/001-basic-profiles/test.sh |  8 +++++++-
 31 files changed, 143 insertions(+), 63 deletions(-)
 rename {kernel-lib => crypto}/crc32c.c (99%)
 rename {kernel-lib => crypto}/crc32c.h (100%)
 create mode 100644 crypto/hash.c
 create mode 100644 crypto/hash.h

Comments

David Sterba Sept. 25, 2019, 5:22 p.m. UTC | #1
On Wed, Sep 25, 2019 at 03:37:21PM +0200, Johannes Thumshirn wrote:
> Now that Nikolay's XXHASH64 support for the Crypto API has landed and BTRFS is
> prepared for an easy addition of new checksums, this patchset implements
> XXHASH64 as a second, fast but not cryptographically secure checksum hash.
> 
> This patchset is fully bisectible and available on github at
> https://github.com/morbidrsa/btrfs-progs/tree/mkfs-xxhash64.v5
> 
> Changes since v4:
> - Rebased onto latest 'devel' branch and dropped applied changes
> - Split 'btrfs-progs: add xxhash64 as checksum algorithm' into several atomic
>   patches
> - Changed test code to using 'TEST_ENABLE_OVERRIDE'
> 
> Johannes Thumshirn (7):
>   btrfs-progs: add option for checksum type to mkfs
>   btrfs-progs: add is_valid_csum_type() helper
>   btrfs-progs: add table for checksum type and name
>   btrfs-progs: also print checksum type when running mkfs
>   btrfs-progs: add xxhash64 to mkfs
>   btrfs-progs: move crc32c implementation to crypto/

All of the above added to devel, thanks. There might be some fixups or
cleanups but I'll do them as separate patches. Regarding relese, we
could do the xxhash support in 5.3, though there's no kernel support
yet. I'll think about that if this would not cause too much confusion
though.
Johannes Thumshirn Sept. 26, 2019, 6:49 a.m. UTC | #2
On 25/09/2019 19:22, David Sterba wrote:
[...]
> All of the above added to devel, thanks. There might be some fixups or
> cleanups but I'll do them as separate patches. Regarding relese, we
> could do the xxhash support in 5.3, though there's no kernel support
> yet. I'll think about that if this would not cause too much confusion
> though.

Thanks! I was about to re-send the kernel side (maybe w/o sysfs) today if
you don't mind.

Byte,
	Johannes