OpenZFS on Linux and FreeBSD
Go to file
siv0 41e55b476b
Fix nfs_truncate_shares without /etc/exports.d
Calling nfs_reset_shares on Linux prints a warning:
`failed to lock /etc/exports.d/zfs.exports.lock: No such file or
directory`
when /etc/exports.d does not exist. The directory gets created, when a
filesystem is actually exported through nfs_toggle_share and
nfs_init_share. The truncation of /etc/exports.d/zfs.exports happens
unconditionally when calling `zfs mount -a` (via zfs_do_mount and
share_mount in `cmd/zfs/zfs_main.c`).

Fixing the issue only in the Linux part, since the exports file on
freebsd is in `/etc/zfs/`, which seems present on 2 FreeBSD systems I
have access to (through `/etc/zfs/compatibility.d/`), while a Debian
box does not have the directory even if `/usr/sbin/exportfs` is
present through the `nfs-kernel-server` package.

The code for exports_available is copied from nfs_available above.

Fixes: ede037cda7
("Make zfs-share service resilient to stale exports")

Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Closes #15369 
Closes #15468
2023-10-31 13:57:54 -07:00
.github Refine some details for the github actions update 2023-03-16 10:00:14 -07:00
cmd Add all read-only compatible zpool features to grub2 compatibility 2023-10-31 09:51:54 -07:00
config config/zfs-build.m4: add Gentoo's bash-completion path 2023-10-09 12:50:06 -07:00
contrib contrib: debian: drop bashcompletion mangling after install 2023-10-02 17:06:41 -07:00
etc Revert "systemd: Use non-absolute paths in Exec* lines" 2023-06-07 11:14:05 -07:00
include zvol: fix delayed update to block device ro entry 2023-10-31 09:50:38 -07:00
lib Fix nfs_truncate_shares without /etc/exports.d 2023-10-31 13:57:54 -07:00
man zvol: Implement zvol threading as a Property 2023-10-31 09:50:32 -07:00
module Fix block cloning between unencrypted and encrypted datasets 2023-10-31 13:49:41 -07:00
rpm spec: define _bashcompletiondir if undefined 2023-10-11 16:56:32 -07:00
scripts CI: Move perl script to dist_noinst_DATA 2023-10-10 13:31:15 -07:00
tests Revert "zvol: Temporally disable blk-mq" 2023-10-24 14:41:25 -07:00
udev Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
.cirrus.yml CI: add FreeBSD build with Cirrus CI 2023-10-06 08:50:26 -07:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore mailmap: initial, trying to tidy up a lot of the commit history 2023-10-10 08:54:30 -07:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
.mailmap mailmap: initial, trying to tidy up a lot of the commit history 2023-10-10 08:54:30 -07:00
AUTHORS AUTHORS: update with missing names 2023-10-10 08:55:42 -07:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08: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
META Linux 6.5 compat: META (#15265) 2023-09-12 12:51:11 -07:00
Makefile.am Process `script` directory for all configs 2022-10-27 16:45:14 -07: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 README: Update OpenZFS website url 2022-01-06 16:25:01 -08:00
RELEASES.md Add RELEASES.md file 2021-04-02 16:33:40 -07:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
autogen.sh Ubuntu 22.04 integration: ShellCheck 2022-11-18 11:24:48 -08:00
configure.ac Add native-deb* targets to build native Debian packages 2022-12-13 17:33:05 -08:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

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