git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set RPM_DEFINE_COMMON options
[zfs.git]
/
module
/
zfs
/
zio.c
diff --git
a/module/zfs/zio.c
b/module/zfs/zio.c
index
638105a
..
0622553
100644
(file)
--- 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();
zfs_mg_alloc_failures = MAX((3 * max_ncpus / 2), 8);
zio_inject_init();
+
+ lz4_init();
}
void
}
void
@@
-238,6
+240,8
@@
zio_fini(void)
kmem_cache_destroy(zio_cache);
zio_inject_fini();
kmem_cache_destroy(zio_cache);
zio_inject_fini();
+
+ lz4_fini();
}
/*
}
/*
@@
-1281,6
+1285,7
@@
__zio_execute(zio_t *zio)
return;
}
return;
}
+#ifdef _KERNEL
/*
* If we executing in the context of the tx_sync_thread,
* or we are performing pool initialization outside of a
/*
* 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;
}
zio_taskq_dispatch(zio, ZIO_TASKQ_ISSUE, cut);
return;
}
+#endif
zio->io_stage = stage;
rv = zio_pipeline[highbit(stage) - 1](zio);
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);
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);
ddt_exit(ddt);
return (ZIO_PIPELINE_CONTINUE);