Go to file
Andrew Walker aca58dbb65
Add fh_to_parent export definition
This commit adds support for converting a file handle to its
parent dentry. This is called in exportfs_decode_fh_raw()
when subtree checking is enabled in NFS. Defining this and
handling the expanded filehandles allows the knfsd to succeed
in handling the file handle where it might otherwise fail
with ESTALE when trying to open by filehandle.

A side effect of this change is that name_to_handle_at(2)
and open_by_handle_at(2) now support AT_HANDLE_CONNECTABLE.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>
Signed-off-by: Andrew Walker <andrew.walker@truenas.com>
Closes #18099
2026-01-08 15:06:12 -08:00
.github CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
cmd cmd/zfs: clone: accept -u to not mount newly created datasets 2026-01-05 12:21:56 -05:00
config Linux 6.19: replace i_state access with inode_state_read_once() 2025-12-23 12:53:32 -08:00
contrib zed.d, contrib: fix shellcheck errors in scripts 2025-12-23 11:12:21 -08:00
etc Replace bashisms in ZFS shell function stub. 2025-12-16 09:15:51 -08:00
include Add snapshots_changed_nsecs dataset property 2026-01-06 09:36:20 -08:00
lib Add snapshots_changed_nsecs dataset property 2026-01-06 09:36:20 -08:00
man Add snapshots_changed_nsecs dataset property 2026-01-06 09:36:20 -08:00
module Add fh_to_parent export definition 2026-01-08 15:06:12 -08:00
rpm libuutil: remove packaging 2025-11-17 06:23:17 -08:00
scripts Change shellcheck and checkbashism triggers. 2025-12-16 09:15:51 -08:00
tests When receiving a stream with the large block flag, activate feature 2026-01-07 16:47:12 -08:00
udev zvol_id: make array length properly known at compile time 2025-12-01 10:19:40 -08:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 08:58:47 -08:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
.mailmap mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
AUTHORS mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
autogen.sh autogen.sh: remove workaround for automake <1.14, needed for EL <=7 2025-10-30 16:26:56 -07:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
configure.ac Linux build: handle CONFIG_OBJTOOL_WERROR=y 2025-06-16 08:12:09 -07:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07:00
COPYRIGHT Fix typos 2020-06-09 21:24:09 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
Makefile.am Install zarcstat and zarcsummary symlinks in Makefile 2025-09-05 10:00:48 -07:00
META Linux 6.18 compat: META (#18039) 2025-12-10 09:04:24 -08:00
NEWS Fix NEWS file 2020-08-26 21:44:41 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Fix capitalization typo in README.md 2025-11-03 16:37:58 -08:00
RELEASES.md Update RELEASES.md LTS release to 2.2 2025-01-17 11:04:36 -05:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

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 13.0-RELEASE.