No description
Find a file
Rob Norris e951dba48a Linux 6.10: work harder to avoid kmem_cache_alloc reuse
Linux 6.10 change kmem_cache_alloc to be a macro, rather than a
function, such that the old #undef for it in spl-kmem-cache.c would
remove its definition completely, breaking the build.

This inverts the model used before. Rather than always defining the
kmem_cache_* macro, then undefining then inside spl-kmem-cache.c,
instead we make a special tag to indicate we're currently inside
spl-kmem-cache.c, and not defining those in macros in the first place,
so we can use the kernel-supplied kmem_cache_* functions to implement
spl_kmem_cache_*, as we expect.

For all other callers, we create the macros as normal and remove access
to the kernel's own conflicting names.

Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
2024-07-15 17:10:02 -07:00
.github
cmd Fix zdb "Memory fault" found on FreeBSD ZTS (#16332) 2024-07-09 09:36:17 -07:00
config Linux 6.10: rework queue limits setup 2024-07-15 17:09:55 -07:00
contrib contrib/bash_completion.d: squelch FreeBSD seq when first < last 2024-06-06 17:37:26 -07:00
etc etc/init.d: decide which variant to use at build time. 2024-04-08 16:52:24 -07:00
include Linux 6.10: work harder to avoid kmem_cache_alloc reuse 2024-07-15 17:10:02 -07:00
lib zdb: detect cachefile automatically otherwise force import 2024-06-03 16:28:43 -07:00
man one-word manpage correction: snapshot->rollback (#16294) 2024-07-12 16:27:12 -07:00
module Linux 6.10: work harder to avoid kmem_cache_alloc reuse 2024-07-15 17:10:02 -07:00
rpm zfs-kmod: fix empty rpm requires/conflicts 2024-04-22 17:55:41 -07:00
scripts disable automatic dependency tracking for dkms builds 2024-06-13 18:08:49 -07:00
tests ZTS: handle FreeBSD version numbers correctly (#16340) 2024-07-12 10:58:03 -07:00
udev udev: correctly handle partition #16 and later 2024-03-21 16:38:24 -07:00
.cirrus.yml
.editorconfig
.gitignore
.gitmodules
.mailmap AUTHORS: refresh with recent new contributors 2024-04-11 14:49:57 -07:00
AUTHORS AUTHORS: refresh with recent new contributors 2024-04-11 14:49:57 -07:00
autogen.sh
CODE_OF_CONDUCT.md
configure.ac
copy-builtin
COPYRIGHT
LICENSE
Makefile.am
META Linux 6.8 compat: META (#16099) 2024-04-17 09:29:21 -07:00
NEWS
NOTICE
README.md
RELEASES.md
TEST
zfs.release.in

img

OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

codecov coverity

Official Resources

Installation

Full documentation for installing OpenZFS on your favorite operating system can be found at the Getting Started Page.

Contribute & Develop

We have a separate document with contribution guidelines.

We have a Code of Conduct.

Release

OpenZFS 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 Linux kernel versions.
  • Supported FreeBSD versions are any supported branches and releases starting from 12.4-RELEASE.