freebsd-nq/lib
Boris Protopopov a0bd735adb Add support for asynchronous zvol minor operations
zfsonlinux issue #2217 - zvol minor operations: check snapdev
property before traversing snapshots of a dataset

zfsonlinux issue #3681 - lock order inversion between zvol_open()
and dsl_pool_sync()...zvol_rename_minors()

Create a per-pool zvol taskq for asynchronous zvol tasks.
There are a few key design decisions to be aware of.

* Each taskq must be single threaded to ensure tasks are always
  processed in the order in which they were dispatched.

* There is a taskq per-pool in order to keep the pools independent.
  This way if one pool is suspended it will not impact another.

* The preferred location to dispatch a zvol minor task is a sync
  task.  In this context there is easy access to the spa_t and
  minimal error handling is required because the sync task must
  succeed.

Support for asynchronous zvol minor operations address issue #3681.

Signed-off-by: Boris Protopopov <boris.protopopov@actifio.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2217
Closes #3678
Closes #3681
2016-03-10 09:49:22 -08:00
..
libavl Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libefi Fix cstyle issue from 7a02327 2015-12-04 14:37:41 -08:00
libnvpair Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libshare Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libspl Linux 4.5 compat: pfn_t typedef 2016-01-20 11:37:33 -08:00
libunicode Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libuutil Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libzfs Updated paths to scan when importing zpool(s) 2016-03-09 10:41:23 -08:00
libzfs_core Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libzpool Add support for asynchronous zvol minor operations 2016-03-10 09:49:22 -08:00
Makefile.am Illumos #2882, #2883, #2900 2013-09-04 15:49:00 -07:00