X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzio.c;h=0622553f5f23a32ba069420508755d66094274ec;hb=4e95cc99b029f519ec1d3fd86df2910e7cb0d156;hp=638105a098dfd52b64a4d118a4cc80bb5ebbdb06;hpb=91579709fccd3e55a21970742b66c388fb1403db;p=zfs.git diff --git a/module/zfs/zio.c b/module/zfs/zio.c index 638105a..0622553 100644 --- a/module/zfs/zio.c +++ b/module/zfs/zio.c @@ -210,6 +210,8 @@ zio_init(void) zfs_mg_alloc_failures = MAX((3 * max_ncpus / 2), 8); zio_inject_init(); + + lz4_init(); } void @@ -238,6 +240,8 @@ zio_fini(void) kmem_cache_destroy(zio_cache); zio_inject_fini(); + + lz4_fini(); } /* @@ -1281,6 +1285,7 @@ __zio_execute(zio_t *zio) return; } +#ifdef _KERNEL /* * If we executing in the context of the tx_sync_thread, * or we are performing pool initialization outside of a @@ -1293,6 +1298,7 @@ __zio_execute(zio_t *zio) zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, cut); return; } +#endif zio->io_stage = stage; rv = zio_pipeline[highbit(stage) - 1](zio); @@ -2243,8 +2249,11 @@ zio_ddt_free(zio_t *zio) ddt_enter(ddt); freedde = dde = ddt_lookup(ddt, bp, B_TRUE); - ddp = ddt_phys_select(dde, bp); - ddt_phys_decref(ddp); + if (dde) { + ddp = ddt_phys_select(dde, bp); + if (ddp) + ddt_phys_decref(ddp); + } ddt_exit(ddt); return (ZIO_PIPELINE_CONTINUE);