]> git.proxmox.com Git - mirror_zfs.git/blobdiff - include/sys/vdev_raidz_impl.h
Fixes and enhancements of SIMD raidz parity
[mirror_zfs.git] / include / sys / vdev_raidz_impl.h
index ddb590c5c5aa465fb6298ca672063d5b8e0e9f93..2b3694f0a0e3ddc8eb403beb38b4f57e8ae09914 100644 (file)
@@ -89,13 +89,15 @@ typedef boolean_t   (*will_work_f)(void);
 typedef void           (*init_impl_f)(void);
 typedef void           (*fini_impl_f)(void);
 
+#define        RAIDZ_IMPL_NAME_MAX     (16)
+
 typedef struct raidz_impl_ops {
        init_impl_f init;
        fini_impl_f fini;
        raidz_gen_f gen[RAIDZ_GEN_NUM]; /* Parity generate functions */
        raidz_rec_f rec[RAIDZ_REC_NUM]; /* Data reconstruction functions */
        will_work_f is_supported;       /* Support check function */
-       char *name;                     /* Name of the implementation */
+       char name[RAIDZ_IMPL_NAME_MAX]; /* Name of the implementation */
 } raidz_impl_ops_t;
 
 typedef struct raidz_col {
@@ -127,6 +129,8 @@ typedef struct raidz_map {
        raidz_col_t rm_col[1];          /* Flexible array of I/O columns */
 } raidz_map_t;
 
+#define        RAIDZ_ORIGINAL_IMPL     (INT_MAX)
+
 extern const raidz_impl_ops_t vdev_raidz_scalar_impl;
 #if defined(__x86_64) && defined(HAVE_SSE2)    /* only x86_64 for now */
 extern const raidz_impl_ops_t vdev_raidz_sse2_impl;