Print this page
Integrated Edon-R hash function.

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/zio_checksum.c
          +++ new/usr/src/uts/common/fs/zfs/zio_checksum.c
↓ open down ↓ 69 lines elided ↑ open up ↑
  70   70          {{NULL,                 NULL},                  0, 0, 0, "inherit"},
  71   71          {{NULL,                 NULL},                  0, 0, 0, "on"},
  72   72          {{zio_checksum_off,     zio_checksum_off},      0, 0, 0, "off"},
  73   73          {{zio_checksum_SHA256,  zio_checksum_SHA256},   1, 1, 0, "label"},
  74   74          {{zio_checksum_SHA256,  zio_checksum_SHA256},   1, 1, 0, "gang_header"},
  75   75          {{fletcher_2_native,    fletcher_2_byteswap},   0, 1, 0, "zilog"},
  76   76          {{fletcher_2_native,    fletcher_2_byteswap},   0, 0, 0, "fletcher2"},
  77   77          {{fletcher_4_native,    fletcher_4_byteswap},   1, 0, 0, "fletcher4"},
  78   78          {{zio_checksum_SHA256,  zio_checksum_SHA256},   1, 0, 1, "sha256"},
  79   79          {{fletcher_4_native,    fletcher_4_byteswap},   0, 1, 0, "zilog2"},
       80 +        {{zio_checksum_EdonR512_256,    zio_checksum_EdonR512_256_byteswap},
       81 +            1, 0, 1, "edonr512/256"},
  80   82  };
  81   83  
  82   84  enum zio_checksum
  83   85  zio_checksum_select(enum zio_checksum child, enum zio_checksum parent)
  84   86  {
  85   87          ASSERT(child < ZIO_CHECKSUM_FUNCTIONS);
  86   88          ASSERT(parent < ZIO_CHECKSUM_FUNCTIONS);
  87   89          ASSERT(parent != ZIO_CHECKSUM_INHERIT && parent != ZIO_CHECKSUM_ON);
  88   90  
  89   91          if (child == ZIO_CHECKSUM_INHERIT)
↓ open down ↓ 185 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX