diff options
author | Matthew Ahrens <[email protected]> | 2013-09-04 07:00:57 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-09-04 16:01:24 -0700 |
commit | 13fe019870c8779bf2f5b3ff731b512cf89133ef (patch) | |
tree | 67a9c6989bcb7c2ca6d0455c14713bcbf1899da6 /lib/libzpool | |
parent | 6f1ffb06655008c9b519108ed29fbf03acd6e5de (diff) |
Illumos #3464
3464 zfs synctask code needs restructuring
Reviewed by: Dan Kimmel <[email protected]>
Reviewed by: Adam Leventhal <[email protected]>
Reviewed by: George Wilson <[email protected]>
Reviewed by: Christopher Siden <[email protected]>
Approved by: Garrett D'Amore <[email protected]>
References:
https://www.illumos.org/issues/3464
illumos/illumos-gate@3b2aab18808792cbd248a12f1edf139b89833c13
Ported-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #1495
Diffstat (limited to 'lib/libzpool')
-rw-r--r-- | lib/libzpool/Makefile.am | 2 | ||||
-rw-r--r-- | lib/libzpool/kernel.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am index cbba38896..637dc15da 100644 --- a/lib/libzpool/Makefile.am +++ b/lib/libzpool/Makefile.am @@ -45,6 +45,8 @@ libzpool_la_SOURCES = \ $(top_srcdir)/module/zfs/dsl_prop.c \ $(top_srcdir)/module/zfs/dsl_scan.c \ $(top_srcdir)/module/zfs/dsl_synctask.c \ + $(top_srcdir)/module/zfs/dsl_destroy.c \ + $(top_srcdir)/module/zfs/dsl_userhold.c \ $(top_srcdir)/module/zfs/fm.c \ $(top_srcdir)/module/zfs/gzip.c \ $(top_srcdir)/module/zfs/lzjb.c \ diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index 0293b5eb5..e4d645cf7 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -34,6 +34,7 @@ #include <sys/stat.h> #include <sys/processor.h> #include <sys/zfs_context.h> +#include <sys/rrwlock.h> #include <sys/utsname.h> #include <sys/time.h> #include <sys/systeminfo.h> @@ -1042,6 +1043,8 @@ umem_out_of_memory(void) void kernel_init(int mode) { + extern uint_t rrw_tsd_key; + umem_nofail_callback(umem_out_of_memory); physmem = sysconf(_SC_PHYS_PAGES); @@ -1059,6 +1062,8 @@ kernel_init(int mode) system_taskq_init(); spa_init(mode); + + tsd_create(&rrw_tsd_key, rrw_tsd_destroy); } void |