Incorrect maximum DVA value in DDE_GET_NDVAS()

The conditional was reversed which caused garbage values to be used when
calculating dds_ref_dsize.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Tim Chase <tim@chase2k.com>
Closes #7234
This commit is contained in:
Tim Chase 2018-02-26 16:20:12 -06:00 committed by Brian Behlendorf
parent 4af6873af6
commit 8b5814393f

View File

@ -95,7 +95,7 @@ typedef struct ddt_key {
#define DDT_KEY_WORDS (sizeof (ddt_key_t) / sizeof (uint64_t))
#define DDE_GET_NDVAS(dde) (DDK_GET_CRYPT(&dde->dde_key) \
? SPA_DVAS_PER_BP : SPA_DVAS_PER_BP - 1)
? SPA_DVAS_PER_BP - 1 : SPA_DVAS_PER_BP)
typedef struct ddt_phys {
dva_t ddp_dva[SPA_DVAS_PER_BP];