A single "page" in an ABD does not necessarily correspond to one segment in a bio, because of how ZFS does ABD allocations and how it breaks them up with adding them to a bio. Because of this, simply dividing the ABD size by the page size can only ever give a minimum number of segments required, rather than the correct number. Until we can fix that, we'll just make each bio as large as they can be for as many segments as the device queue will permit without needing to split the the bio. This is a little wasteful if we don't intend to put that many segments in the bio, but its not a lot of memory and its only lost until the bio is completed. This also adds a tuneable, vdev_disk_max_segs, to allow setting this value to be set by the operator. This is very useful for debugging. Signed-off-by: Rob Norris <rob.norris@klarasystems.com> (cherry picked from commit a3a438d1bedb0626417cd73ba10b1479a06bef7f) |
||
---|---|---|
.github | ||
cmd | ||
config | ||
contrib | ||
etc | ||
include | ||
lib | ||
man | ||
module | ||
rpm | ||
scripts | ||
tests | ||
udev | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
COPYRIGHT | ||
LICENSE | ||
META | ||
Makefile.am | ||
NEWS | ||
NOTICE | ||
README.md | ||
RELEASES.md | ||
TEST | ||
autogen.sh | ||
configure.ac | ||
copy-builtin | ||
zfs.release.in |
README.md
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.
Official Resources
- Documentation - for using and developing this repo
- ZoL Site - Linux release info & links
- Mailing lists
- OpenZFS site - for conference videos and info on other platforms (illumos, OSX, Windows, etc)
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.