Go to file
Ryan Moeller 69c5e694a1
FreeBSD: Fix leaked strings in libspl mnttab
The FreeBSD implementations of various libspl functions for getting
mounted device information were found to leak several strings which
were being allocated in statfs2mnttab but never freed.

The Solaris getmntany(3C) and related interfaces are expected to return
strings residing in static buffers that need to be copied rather than
freed by the caller.

Use static thread-local storage to stash the mnttab structure strings
from FreeBSD's statfs info rather than strings allocated on the heap by
strdup(3).

While here, remove some stray commented out lines.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Rich Ercolani <rincebrain@gmail.com>
Signed-off-by: Ryan Moeller <ryan@iXsystems.com>
Closes #12961
2022-01-14 12:38:32 -08:00
.github Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
cmd Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
config Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
contrib Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
etc Add ShellCheck's --enable=all inside etc/ 2022-01-06 14:36:04 -08:00
include Remove sha1 hashing from OpenZFS, it's not used anywhere. 2022-01-06 16:16:28 -08:00
lib FreeBSD: Fix leaked strings in libspl mnttab 2022-01-14 12:38:32 -08:00
man man: zfs.4: miscellaneous cleanup 2022-01-13 11:09:03 -08:00
module Remove VERIFY() in vdev_props_set_sync() 2022-01-12 16:15:30 -08:00
rpm Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
scripts Add ShellCheck's --enable=all inside scripts/ 2022-01-13 11:09:19 -07:00
tests Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
udev Udev rules: remove zvol compat symlinks (without the leading zvol/) 2021-07-06 13:41:17 -07:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Add FreeBSD support to OpenZFS 2020-04-14 11:36:28 -07:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
AUTHORS Add zstd support to zfs 2020-08-20 10:30:06 -07:00
autogen.sh Cause autogen.sh to fail if autoreconf fails 2018-07-06 09:27:37 -07:00
CODE_OF_CONDUCT.md Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
configure.ac Linux: Implement FS_IOC_GETVERSION 2021-12-17 16:18:37 -08:00
copy-builtin copy-builtin: posix conformance 2021-05-08 08:58:26 -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 Updated the lz4 decompressor 2022-01-07 10:36:49 -08:00
META Linux 5.15 compat: META (#12824) 2021-12-07 15:35:42 -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 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
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 12.2-RELEASE.