Skip to contentSkip to conversation

Recent changes (master)

PATCH Jens Axboe 1 participant 1 message Mar 9, 2017

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

The following changes since commit 8f7630813305a4f4f04a5f9ba20b2a7d486c0cfb:

io_u: don't add slat samples if we are in ramp time (2017-03-07 10:18:53 -0700)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to ae3a5accfdbe1fbfde6ba4ab583887a7d3d779ac:

verify: add support for the sha3 variants (2017-03-08 09:13:14 -0700)

----------------------------------------------------------------
Jens Axboe (2):
crc: add support for sha3 variants
verify: add support for the sha3 variants

 HOWTO      |  12 +++++
 crc/sha3.c | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 crc/sha3.h |  42 +++++++++++++++
 crc/test.c |  81 +++++++++++++++++++++++++++++
 fio.1      |   2 +-
 options.c  |  16 ++++++
 verify.c   | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 verify.h   |  16 ++++++
 8 files changed, 514 insertions(+), 1 deletion(-)
 create mode 100644 crc/sha3.c
 create mode 100644 crc/sha3.h

---

Diff of recent changes:

HOWTO +12 -0
index a72d868..15ed425 100644
@@ -2355,6 +2355,18 @@ Verification
 		**sha1**
 			Use optimized sha1 as the checksum function.
 
+		**sha3-224**
+			Use optimized sha3-224 as the checksum function.
+
+		**sha3-256**
+			Use optimized sha3-256 as the checksum function.
+
+		**sha3-384**
+			Use optimized sha3-384 as the checksum function.
+
+		**sha3-512**
+			Use optimized sha3-512 as the checksum function.
+
 		**meta**
 			This option is deprecated, since now meta information is included in
 			generic verification header and meta verification happens by
crc/sha3.c new file +173 -0

173 lines not on this page · raw message

crc/sha3.h new file +42 -0

42 lines not on this page · raw message

crc/test.c +81 -0

105 lines not on this page · raw message

fio.1 +1 -1
index 56f2d11..cc68dee 100644
@@ -1414,7 +1414,7 @@ option.  The allowed values are:
 .RS
 .RS
 .TP
-.B md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 xxhash
+.B md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 sha3-224 sha3-256 sha3-384 sha3-512 xxhash
 Store appropriate checksum in the header of each block. crc32c-intel is
 hardware accelerated SSE4.2 driven, falls back to regular crc32c if
 not supported by the system.
options.c +16 -0
index a543e5a..dcf0eea 100644
@@ -2674,6 +2674,22 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
 			    .oval = VERIFY_SHA512,
 			    .help = "Use sha512 checksums for verification",
 			  },
+			  { .ival = "sha3-224",
+			    .oval = VERIFY_SHA3_224,
+			    .help = "Use sha3-224 checksums for verification",
+			  },
+			  { .ival = "sha3-256",
+			    .oval = VERIFY_SHA3_256,
+			    .help = "Use sha3-256 checksums for verification",
+			  },
+			  { .ival = "sha3-384",
+			    .oval = VERIFY_SHA3_384,
+			    .help = "Use sha3-384 checksums for verification",
+			  },
+			  { .ival = "sha3-512",
+			    .oval = VERIFY_SHA3_512,
+			    .help = "Use sha3-512 checksums for verification",
+			  },
 			  { .ival = "xxhash",
 			    .oval = VERIFY_XXHASH,
 			    .help = "Use xxhash checksums for verification",
verify.c +173 -0

209 lines not on this page · raw message

verify.h +16 -0
index deb161e..5aae2e7 100644
@@ -20,6 +20,10 @@ enum {
 	VERIFY_CRC7,			/* crc7 sum data blocks */
 	VERIFY_SHA256,			/* sha256 sum data blocks */
 	VERIFY_SHA512,			/* sha512 sum data blocks */
+	VERIFY_SHA3_224,		/* sha3-224 sum data blocks */
+	VERIFY_SHA3_256,		/* sha3-256 sum data blocks */
+	VERIFY_SHA3_384,		/* sha3-384 sum data blocks */
+	VERIFY_SHA3_512,		/* sha3-512 sum data blocks */
 	VERIFY_XXHASH,			/* xxhash sum data blocks */
 	VERIFY_SHA1,			/* sha1 sum data blocks */
 	VERIFY_PATTERN,			/* verify specific patterns */
@@ -48,6 +52,18 @@ struct verify_header {
 struct vhdr_md5 {
 	uint32_t md5_digest[4];
 };
+struct vhdr_sha3_224 {
+	uint8_t sha[224 / 8];
+};
+struct vhdr_sha3_256 {
+	uint8_t sha[256 / 8];
+};
+struct vhdr_sha3_384 {
+	uint8_t sha[384 / 8];
+};
+struct vhdr_sha3_512 {
+	uint8_t sha[512 / 8];
+};
 struct vhdr_sha512 {
 	uint8_t sha512[128];
 };