X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fddt_zap.c;h=65b14ab638f89b4828bac00988dc9750c5df4025;hb=570d6edf1d94917aab49c5755027d05b3c7bcd43;hp=6fb6ea2a3a927ad5c1baf396b184179377765dd0;hpb=42d3b990cfba9906e25bbf6b60e96389244f8082;p=zfs.git diff --git a/module/zfs/ddt_zap.c b/module/zfs/ddt_zap.c index 6fb6ea2..65b14ab 100644 --- a/module/zfs/ddt_zap.c +++ b/module/zfs/ddt_zap.c @@ -62,7 +62,7 @@ ddt_zap_lookup(objset_t *os, uint64_t object, ddt_entry_t *dde) 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); @@ -138,14 +138,10 @@ ddt_zap_walk(objset_t *os, uint64_t object, ddt_entry_t *dde, uint64_t *walk) return (error); } -static uint64_t -ddt_zap_count(objset_t *os, uint64_t object) +static int +ddt_zap_count(objset_t *os, uint64_t object, uint64_t *count) { - uint64_t count = 0; - - VERIFY(zap_count(os, object, &count) == 0); - - return (count); + return zap_count(os, object, count); } const ddt_ops_t ddt_zap_ops = {