uint64_t one, csize;
int error;
- cbuf = kmem_alloc(sizeof (dde->dde_phys) + 1, KM_SLEEP);
+ cbuf = kmem_alloc(sizeof (dde->dde_phys) + 1, KM_PUSHPAGE);
error = zap_length_uint64(os, object, (uint64_t *)&dde->dde_key,
DDT_KEY_WORDS, &one, &csize);
goto out;
ASSERT(one == 1);
- ASSERT(csize <= sizeof (cbuf));
+ ASSERT(csize <= (sizeof (dde->dde_phys) + 1));
error = zap_lookup_uint64(os, object, (uint64_t *)&dde->dde_key,
DDT_KEY_WORDS, 1, csize, cbuf);