All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.cz>
To: Johannes Thumshirn <jthumshirn@suse.de>
Cc: David Sterba <dsterba@suse.com>,
	Linux BTRFS Mailinglist <linux-btrfs@vger.kernel.org>,
	Chris Mason <clm@fb.com>, Richard Weinberger <richard@nod.at>,
	David Gstir <david@sigma-star.at>,
	Nikolay Borisov <nborisov@suse.com>
Subject: Re: [RFC PATCH v3 13/13] btrfs: add sha256 as another checksum algorithm
Date: Mon, 27 May 2019 19:10:21 +0200	[thread overview]
Message-ID: <20190527171021.GO15290@twin.jikos.cz> (raw)
In-Reply-To: <20190522081910.7689-14-jthumshirn@suse.de>

On Wed, May 22, 2019 at 10:19:10AM +0200, Johannes Thumshirn wrote:
> Now that we everything in place, we can add SHA-256 as another checksum
> algorithm.
> 
> SHA-256 was taken as it was the cryptographically strongest algorithm that
> can fit into the 32 Bytes we have left.
> 
> Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
> 
> ---
> changes to v2:
> - Add pre dependency on sha256
> Changes to v1:
> - Select SHA-256 in KConfig
> - Minimalize switch() in btrfs_supported_super_csum() (Nikolay)
> - Use enum for new on-disk checksum type (Nikolay/David)
> - Format SHA256 using sprintf()'s hexdump mode
> ---
>  fs/btrfs/Kconfig                | 1 +
>  fs/btrfs/btrfs_inode.h          | 3 +++
>  fs/btrfs/ctree.h                | 4 ++--
>  fs/btrfs/disk-io.c              | 1 +
>  fs/btrfs/super.c                | 1 +
>  include/uapi/linux/btrfs_tree.h | 6 ++++--
>  6 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
> index 212b4a854f2c..2521a24f74be 100644
> --- a/fs/btrfs/Kconfig
> +++ b/fs/btrfs/Kconfig
> @@ -4,6 +4,7 @@ config BTRFS_FS
>  	tristate "Btrfs filesystem support"
>  	select CRYPTO
>  	select CRYPTO_CRC32C
> +	select CRYPTO_SHA256
>  	select ZLIB_INFLATE
>  	select ZLIB_DEFLATE
>  	select LZO_COMPRESS
> diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
> index e79fd9129075..125bc7f3b871 100644
> --- a/fs/btrfs/btrfs_inode.h
> +++ b/fs/btrfs/btrfs_inode.h
> @@ -346,6 +346,9 @@ static inline void btrfs_csum_format(struct btrfs_super_block *sb,
>  	case BTRFS_CSUM_TYPE_CRC32:
>  		snprintf(cbuf, size, "0x%08x", *(u32 *)csum);
>  		break;
> +	case BTRFS_CSUM_TYPE_SHA256:
> +		snprintf(cbuf, size, "%*phN", (int)size / 8, csum);

This seems to print the buffer in the host order ('h', other formats use
that). I wonder if there needs to be some caution about endianity here.
Ideally we won't need to care and just use the right format that will
printk handle transparently for us.

  reply	other threads:[~2019-05-27 17:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-22  8:18 [PATCH v3 00/13] Add support for other checksums Johannes Thumshirn
2019-05-22  8:18 ` [PATCH v3 01/13] btrfs: use btrfs_csum_data() instead of directly calling crc32c Johannes Thumshirn
2019-05-22  8:18 ` [PATCH v3 02/13] btrfs: resurrect btrfs_crc32c() Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 03/13] btrfs: use btrfs_crc32c{,_final}() in for free space cache Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 04/13] btrfs: don't assume ordered sums to be 4 bytes Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 05/13] btrfs: dont assume compressed_bio " Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 06/13] btrfs: format checksums according to type for printing Johannes Thumshirn
2019-05-27 16:57   ` David Sterba
2019-06-03  9:33     ` Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 07/13] btrfs: add common checksum type validation Johannes Thumshirn
2019-05-30 15:47   ` David Sterba
2019-05-22  8:19 ` [PATCH v3 08/13] btrfs: check for supported superblock checksum type before checksum validation Johannes Thumshirn
2019-05-30 15:49   ` David Sterba
2019-05-22  8:19 ` [PATCH v3 09/13] btrfs: Simplify btrfs_check_super_csum() and get rid of size assumptions Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 10/13] btrfs: add boilerplate code for directly including the crypto framework Johannes Thumshirn
2019-05-22  8:19 ` [PATCH v3 11/13] btrfs: directly call into crypto framework for checsumming Johannes Thumshirn
2019-05-22  8:33   ` Nikolay Borisov
2019-05-22  8:35     ` Johannes Thumshirn
2019-05-22  9:04     ` Johannes Thumshirn
2019-05-29 19:32   ` David Gstir
2019-05-30 10:14     ` David Sterba
2019-05-30 10:27       ` David Gstir
2019-05-22  8:19 ` [PATCH v3 12/13] btrfs: remove assumption about csum type form btrfs_print_data_csum_error() Johannes Thumshirn
2019-05-22  8:19 ` [RFC PATCH v3 13/13] btrfs: add sha256 as another checksum algorithm Johannes Thumshirn
2019-05-27 17:10   ` David Sterba [this message]
2019-05-27 17:19 ` [PATCH v3 00/13] Add support for other checksums David Sterba
2019-06-03  9:38   ` Johannes Thumshirn
2019-06-03 12:40     ` David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190527171021.GO15290@twin.jikos.cz \
    --to=dsterba@suse.cz \
    --cc=clm@fb.com \
    --cc=david@sigma-star.at \
    --cc=dsterba@suse.com \
    --cc=jthumshirn@suse.de \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=nborisov@suse.com \
    --cc=richard@nod.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.