OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf 1c38ac61e1
Linux 4.14 compat: blk_queue_stackable()
The blk_queue_stackable() function was replaced in the 4.14 kernel
by queue_is_rq_based(), commit torvalds/linux@5fdee212.  This change
resulted in the default elevator being used which can negatively
impact performance.

Rather than adding additional compatibility code to detect the
new interface unconditionally attempt to set the elevator.  Since
we expect this to fail for block devices without an elevator the
error message has been moved in to zfs_dbgmsg().

Finally, it was observed that the elevator_change() was removed
from the 4.12 kernel, commit torvalds/linux@c033269.  Update the
comment to clearly specify which are expected to export the
elevator_change() symbol.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7645
2018-06-19 21:52:45 -07:00
.github Small cleanup of PR and issue templates 2018-05-15 09:02:57 -07:00
cmd Fix typo in comment, handeling->handling 2018-06-18 21:51:06 -07:00
config Linux 4.14 compat: blk_queue_stackable() 2018-06-19 21:52:45 -07:00
contrib Add pyzfs build directories to gitignore 2018-06-11 18:42:12 -07:00
etc Minor documentation, logging, and testing typos 2018-06-07 09:38:39 -07:00
include Linux 4.14 compat: blk_queue_stackable() 2018-06-19 21:52:45 -07:00
lib Linux 4.18 compat: inode timespec -> timespec64 2018-06-19 21:51:18 -07:00
man Add tunables for channel programs 2018-06-15 15:10:42 -07:00
module Linux 4.14 compat: blk_queue_stackable() 2018-06-19 21:52:45 -07:00
rpm Update build system and packaging 2018-05-29 16:00:33 -07:00
scripts Update build system and packaging 2018-05-29 16:00:33 -07:00
tests Add tunables for channel programs 2018-06-15 15:10:42 -07:00
udev Add kernel module auto-loading 2018-03-13 10:45:55 -07:00
.gitignore Ignore *.o.ur-safe build artifacts 2018-05-13 18:59:02 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.travis.yml Add .travis.yml 2017-11-13 09:18:18 -08:00
AUTHORS Update build system and packaging 2018-05-29 16:00:33 -07:00
COPYRIGHT Update build system and packaging 2018-05-29 16:00:33 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
META Linux compat 4.18: check_disk_size_change() 2018-06-15 15:05:21 -07:00
Makefile.am make install only works once 2018-05-31 09:19:59 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Explicitly state supported Linux versions 2018-05-30 20:11:19 -07:00
TEST Update build system and packaging 2018-05-29 16:00:33 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Tunable directory for zfs runtime scripts 2018-06-07 09:59:59 -07:00
copy-builtin copy-builtin: SPL must be in Kbuild first 2018-06-15 15:16:29 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

img

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

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.

Release

ZFS on Linux is released under a CDDL license.
For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported kernel versions.