OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf 0ee129199f RHEL 7.5 compat: FMODE_KABI_ITERATE
As of RHEL 7.5 the mainline fops.iterate() method was added to
the file_operations structure and is correctly detected by the
configure script.

Normally this is what we want, but in order to maintain KABI
compatibility the RHEL change additionally does the following:

* Requires that callers intending to use this extended interface
  set the FMODE_KABI_ITERATE flag on the file structure when
  opening the directory.
* Adds the fops.iterate() method to the end of the structure,
  without removing fops.readdir().

This change updates the configure check to ignore the RHEL 7.5+
variant of fops.iterate() when detected.  Instead fallback to
the fops.readdir() interface which will be available.

Finally, add the 'zpl_' prefix to the directory context wrappers
to avoid colliding with the kernel provided symbols when both
the fops.iterate() and fops.readdir() are provided by the kernel.

Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7460
Closes #7463
2018-05-07 17:19:57 -07:00
.github Update codecov.yml 2018-03-14 16:10:36 -07:00
cmd Fedora 28: Fix misc bounds check compiler warnings 2018-05-07 17:19:57 -07:00
config RHEL 7.5 compat: FMODE_KABI_ITERATE 2018-05-07 17:19:57 -07:00
contrib modprobe zfs during dracut mount 2018-05-07 17:19:57 -07:00
etc chmod -x on etc/init.d/zfs-*.in automake files 2018-05-07 17:19:57 -07:00
include RHEL 7.5 compat: FMODE_KABI_ITERATE 2018-05-07 17:19:57 -07:00
lib Fedora 28: Fix misc bounds check compiler warnings 2018-05-07 17:19:57 -07:00
man Add back iostat -y or -w descriptions 2018-05-07 17:19:57 -07:00
module RHEL 7.5 compat: FMODE_KABI_ITERATE 2018-05-07 17:19:57 -07:00
rpm Exclude python scripts from RPM shebang check 2018-05-07 17:19:57 -07:00
scripts Fix free memory calculation on v3.14+ 2018-03-14 16:10:37 -07:00
tests Add test with two kinds of file creation orders 2018-05-07 17:19:57 -07:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Add configure option to enable gcov analysis 2018-03-14 16:10:36 -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.7.8 2018-04-09 14:31:57 -07:00
Makefile.am Add support for "--enable-code-coverage" option 2018-03-14 16:10:36 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Update codecov.yml 2018-03-14 16:10:36 -07:00
TEST Retire filebench testing 2017-06-01 06:24:28 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Fix mmap / libaio deadlock 2018-05-07 17:19:57 -07:00
copy-builtin Allow c99 when building ZFS in the kernel tree 2017-03-27 12:31:15 -07:00
zfs-script-config.sh.in zpool iostat/status -c improvements 2017-06-05 10:52:15 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.markdown

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

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.