Page MenuHomeFreeBSD

D35750.id107900.diff
No OneTemporary

D35750.id107900.diff

Index: stand/libsa/zfs/Makefile.inc
===================================================================
--- stand/libsa/zfs/Makefile.inc
+++ stand/libsa/zfs/Makefile.inc
@@ -6,8 +6,9 @@
.PATH: ${OZFS}/module/zstd/lib/common
.PATH: ${OZFS}/module/zstd/lib/compress
.PATH: ${OZFS}/module/zstd/lib/decompress
+.PATH: ${OZFS}/module/icp/algs/blake3
ZFSSRC= zfs.c nvlist.c skein.c skein_block.c list.c
-ZFSSRC+= zstd_shim.c
+ZFSSRC+= zstd_shim.c blake3.c blake3_generic.c blake3_impl.c
ZFSSRC+= entropy_common.c error_private.c
ZFSSRC+= fse_compress.c fse_decompress.c hist.c
ZFSSRC+= huf_compress.c huf_decompress.c pool.c xxhash.c
@@ -32,6 +33,9 @@
CFLAGS.$i+= -include ${ZFSOSINC}/spl/sys/ccompile.h
.endfor
+CFLAGS_EARLY.blake3.c+= ${ZFS_EARLY}
+CFLAGS_EARLY.blake3_generic.c+= ${ZFS_EARLY}
+CFLAGS_EARLY.blake3_impl.c+= ${ZFS_EARLY}
CFLAGS_EARLY.list.c+= ${ZFS_EARLY}
CFLAGS_EARLY.zstd_shim.c+= ${ZFS_EARLY}
Index: stand/libsa/zfs/zfsimpl.c
===================================================================
--- stand/libsa/zfs/zfsimpl.c
+++ stand/libsa/zfs/zfsimpl.c
@@ -140,6 +140,7 @@
"org.freebsd:zstd_compress",
"com.delphix:bookmark_written",
"com.delphix:head_errlog",
+ "org.openzfs:blake3",
NULL
};
Index: stand/libsa/zfs/zstd_shim.c
===================================================================
--- stand/libsa/zfs/zstd_shim.c
+++ stand/libsa/zfs/zstd_shim.c
@@ -35,7 +35,6 @@
*/
#define ZFS_MODULE_PARAM_ARGS void
-typedef int boolean_t; /* This one may be tough to get rid of */
/* TODO: openzfs/include/sys/uio_impl.h must not be included */
#ifndef _SYS_UIO_IMPL_H
Index: sys/cddl/boot/zfs/zfsimpl.h
===================================================================
--- sys/cddl/boot/zfs/zfsimpl.h
+++ sys/cddl/boot/zfs/zfsimpl.h
@@ -602,6 +602,7 @@
ZIO_CHECKSUM_SHA512,
ZIO_CHECKSUM_SKEIN,
ZIO_CHECKSUM_EDONR,
+ ZIO_CHECKSUM_BLAKE3,
ZIO_CHECKSUM_FUNCTIONS
};
Index: sys/cddl/boot/zfs/zfssubr.c
===================================================================
--- sys/cddl/boot/zfs/zfssubr.c
+++ sys/cddl/boot/zfs/zfssubr.c
@@ -102,6 +102,7 @@
#include "blkptr.c"
#include "fletcher.c"
+#include "blake3_zfs.c"
#include "sha256.c"
#include "skein_zfs.c"
@@ -140,7 +141,11 @@
ZCHECKSUM_FLAG_SALTED | ZCHECKSUM_FLAG_NOPWRITE, "skein"},
/* no edonr for now */
{{NULL, NULL}, NULL, NULL, ZCHECKSUM_FLAG_METADATA |
- ZCHECKSUM_FLAG_SALTED | ZCHECKSUM_FLAG_NOPWRITE, "edonr"}
+ ZCHECKSUM_FLAG_SALTED | ZCHECKSUM_FLAG_NOPWRITE, "edonr"},
+ {{zio_checksum_blake3_native, zio_checksum_blake3_byteswap},
+ zio_checksum_blake3_tmpl_init, zio_checksum_blake3_tmpl_free,
+ ZCHECKSUM_FLAG_METADATA | ZCHECKSUM_FLAG_DEDUP |
+ ZCHECKSUM_FLAG_SALTED | ZCHECKSUM_FLAG_NOPWRITE, "blake3"}
};
/*
Index: sys/contrib/openzfs/include/os/freebsd/spl/sys/blake3.h
===================================================================
--- /dev/null
+++ sys/contrib/openzfs/include/os/freebsd/spl/sys/blake3.h
@@ -0,0 +1,12 @@
+#pragma once
+
+/* TODO: openzfs/include/sys/uio_impl.h must not be included */
+#ifndef _SYS_UIO_IMPL_H
+#define _SYS_UIO_IMPL_H
+#endif
+
+void *memcpy(void *dst, const void *src, size_t len);
+void *memset(void *dest, int c, size_t len);
+void *memmem(const void *big, size_t big_len, const void *little,
+ size_t little_len);
+#include_next <sys/blake3.h>
Index: sys/contrib/openzfs/include/os/freebsd/spl/sys/types.h
===================================================================
--- sys/contrib/openzfs/include/os/freebsd/spl/sys/types.h
+++ sys/contrib/openzfs/include/os/freebsd/spl/sys/types.h
@@ -78,9 +78,6 @@
typedef mode_t o_mode_t;
typedef uint64_t pgcnt_t;
-#define B_FALSE 0
-#define B_TRUE 1
-
typedef short index_t;
typedef off_t offset_t;
#ifndef _PTRDIFF_T_DECLARED
@@ -90,14 +87,11 @@
typedef int64_t rlim64_t;
typedef int major_t;
-#else
-#ifdef NEED_SOLARIS_BOOLEAN
#if defined(__XOPEN_OR_POSIX)
typedef enum { _B_FALSE, _B_TRUE } boolean_t;
#else
typedef enum { B_FALSE, B_TRUE } boolean_t;
#endif /* defined(__XOPEN_OR_POSIX) */
-#endif
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
Index: sys/contrib/openzfs/include/os/freebsd/spl/sys/zfs_context.h
===================================================================
--- /dev/null
+++ sys/contrib/openzfs/include/os/freebsd/spl/sys/zfs_context.h
@@ -0,0 +1,9 @@
+#pragma once
+
+/* TODO: openzfs/include/sys/uio_impl.h must not be included */
+#ifndef _SYS_UIO_IMPL_H
+#define _SYS_UIO_IMPL_H
+#endif
+
+#include_next <sys/zfs_context.h>
+#define ZFS_MODULE_PARAM_ARGS void
Index: sys/contrib/openzfs/include/sys/blake3.h
===================================================================
--- sys/contrib/openzfs/include/sys/blake3.h
+++ sys/contrib/openzfs/include/sys/blake3.h
@@ -28,11 +28,13 @@
#ifndef BLAKE3_H
#define BLAKE3_H
-#ifdef _KERNEL
+#if defined(_KERNEL)
+#include <sys/types.h>
+#elif defined(_STANDALONE)
#include <sys/types.h>
#else
-#include <stdint.h>
#include <stdlib.h>
+#include <stdint.h>
#endif
#ifdef __cplusplus
Index: sys/contrib/openzfs/include/sys/zfs_context.h
===================================================================
--- sys/contrib/openzfs/include/sys/zfs_context.h
+++ sys/contrib/openzfs/include/sys/zfs_context.h
@@ -42,8 +42,8 @@
*/
#if defined(__KERNEL__) || defined(_STANDALONE)
#include <sys/types.h>
-#include <sys/atomic.h>
#include <sys/sysmacros.h>
+#include <sys/atomic.h>
#include <sys/vmsystm.h>
#include <sys/condvar.h>
#include <sys/cmn_err.h>

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 13, 4:01 PM (9 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36659438
Default Alt Text
D35750.id107900.diff (5 KB)

Event Timeline