OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf 8a39abaafa Multi-thread 'zpool import' for blkid
Commit 519129f added support to multi-thread 'zpool import' for
the case where block devices are scanned for under /dev/.  This
commit generalizes that logic and applies it to the case where
device names are acquired from libblkid.

The zpool_find_import_scan() and zpool_find_import_blkid()
functions create an AVL tree containing each device name.  Each
entry in this tree is dispatched to a taskq where the function
zpool_open_func() validates the device by opening it and reading
the label.  This may result in additional entries being added
to the tree and those device paths being verified.

This is largely how the upstream OpenZFS code behaves but due to
significant differences the non-Linux code has been dropped for
readability.  Additionally, this code makes use of taskqs and
kmutexs which are normally not available to the command line tools.
Special care has been taken to allow their use in the import
functions.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #4794
2016-07-27 13:38:46 -07:00
cmd Multi-thread 'zpool import' for blkid 2016-07-27 13:38:46 -07:00
config Fix sync behavior for disk vdevs 2016-07-25 14:24:47 -07:00
contrib Fix the test to use the variable 2016-05-13 20:44:03 -07:00
etc Systemd configuration fixes 2016-05-27 11:54:29 -07:00
include Limit the amount of dnode metadata in the ARC 2016-07-25 15:26:38 -07:00
lib Multi-thread 'zpool import' for blkid 2016-07-27 13:38:46 -07:00
man Limit the amount of dnode metadata in the ARC 2016-07-25 15:26:38 -07:00
module Fixes for issues found with cppcheck tool 2016-07-27 13:31:22 -07:00
rpm Add missing RPM BuildRequires 2016-05-23 10:33:42 -07:00
scripts zloop: print backtrace from core files 2016-07-25 11:47:21 -07:00
tests Fixes for issues found with cppcheck tool 2016-07-27 13:31:22 -07:00
udev Add `zfs allow` and `zfs unallow` support 2016-06-07 09:16:52 -07:00
.gitignore Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
COPYRIGHT Update ZED copyright boilerplate 2015-05-11 15:07:00 -07:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
META Tag zfs-0.6.5 2015-09-11 11:16:38 -07:00
Makefile.am Add the ZFS Test Suite 2016-03-16 13:46:16 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
TEST Add the ZFS Test Suite 2016-03-16 13:46:16 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
copy-builtin Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
zfs-script-config.sh.in Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.markdown

Native ZFS for Linux!

ZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the Illumos community.

ZFS on Linux, which is also known as ZoL, is currently feature complete. It includes fully functional and stable SPA, DMU, ZVOL, and ZPL layers.

Full documentation for installing ZoL on your favorite Linux distribution can be found at: http://zfsonlinux.org