]> git.proxmox.com Git - mirror_zfs.git/commit
Illumos 6815179, 6844191
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 20 Jan 2016 23:58:29 +0000 (15:58 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 22 Jan 2016 17:39:46 +0000 (09:39 -0800)
commit519129ff4e717f3026ae70b58d2db59d937aef06
treec4c29be71b19583ff2c76bc8363103ba0087e4c2
parent19d55079aecb5c022c1c09e0eace4f7da7381a62
Illumos 68151796844191

6815179 zpool import with a large number of LUNs is too slow
6844191 zpool import, scanning of disks should be multi-threaded

References:
  https://github.com/illumos/illumos-gate/commit/4f67d75

Porting notes:
- This change was originally never ported to Linux due to it
  dependence on the thread pool interface.  This patch solves
  that issue by switching the code to use the existing taskq
  implementation which provides the same basic functionality.
  However, in order for this to work properly thread_init()
  and thread_fini() must be called around to taskq consumer
  to perform the needed thread initialization.

- The check_one_slice, nozpool_all_slices, and check_slices
  functions have been disabled for Linux.  They are difficult,
  but possible, to implement for Linux due to how partitions
  are get names.  Since this is only an optimization this code
  can be added at a latter date.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
include/sys/zfs_context.h
lib/libzfs/libzfs_import.c
lib/libzpool/kernel.c