Go to file
Tom Caputi 4a385862b7 Prevent raw zfs recv -F if dataset is unencrypted
The current design of ZFS encryption only allows a dataset to
have one DSL Crypto Key at a time. As a result, it is important
that the zfs receive code ensures that only one key can be in use
at a time for a given DSL Directory. zfs receive -F complicates
this, since the new dataset is received as a clone of the existing
one so that an atomic switch can be done at the end. To prevent
confusion about which dataset is actually encrypted a check was
added to ensure that encrypted datasets cannot use zfs recv -F to
completely replace existing datasets. Unfortunately, the check did
not take into account unencrypted datasets being overriden by
encrypted ones as a case.

Along the same lines, the code also failed to ensure that raw
recieves could not be done on top of existing unencrypted
datasets, which causes amny problems since the new stream cannot
be decrypted.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #7199
2018-02-21 12:30:11 -08:00
.github Reduce codecov PR comments 2018-01-09 11:15:55 -08:00
cmd Fix coverity defects: zfs channel programs 2018-02-20 11:19:42 -08:00
config Fix config issues: frame size and headers 2018-02-15 12:58:23 -08:00
contrib contrib/initramfs: add missing conf.d/zfs 2018-02-12 11:40:00 -08:00
etc OpenZFS 7431 - ZFS Channel Programs 2018-02-08 15:28:18 -08:00
include Raw receives must compress metadnode blocks 2018-02-21 12:28:52 -08:00
lib Prevent raw zfs recv -F if dataset is unencrypted 2018-02-21 12:30:11 -08:00
man Raw receives must compress metadnode blocks 2018-02-21 12:28:52 -08:00
module Prevent raw zfs recv -F if dataset is unencrypted 2018-02-21 12:30:11 -08:00
rpm Fix systemd_ RPM macros usage on Debian-based distributions 2018-02-02 13:50:42 -08:00
scripts OpenZFS 7431 - ZFS Channel Programs 2018-02-08 15:28:18 -08:00
tests Raw receives must compress metadnode blocks 2018-02-21 12:28:52 -08:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Add configure option to enable gcov analysis 2017-09-15 10:24:13 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.travis.yml Add .travis.yml 2017-11-13 09:18:18 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
COPYRIGHT Encryption patch follow-up 2017-10-11 16:54:48 -04:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
META Tag zfs-0.7.0 2017-07-26 10:13:25 -07:00
Makefile.am Verify ZFS Test Suite scripts executability 2018-02-07 12:43:24 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add scan.coverity.com badge to README 2017-10-30 16:21:24 -07:00
TEST Refresh TEST file to include new variables 2017-11-08 11:09:30 -08:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Project Quota on ZFS 2018-02-13 14:54:54 -08:00
copy-builtin Fix copy-builtin to work with ASAN patch 2018-01-12 09:39:36 -08:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.markdown

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.