OpenZFS on Linux and FreeBSD
Go to file
Tim Chase a85804ecb5 Undirty freed spill blocks.
If a spill block's dbuf hasn't yet been written when a spill block is
freed, the unwritten version will still be written.  This patch handles
the case in which a spill block's dbuf is freed and undirties it to
prevent it from being written.

The most common case in which this could happen is when xattr=sa is being
used and a long xattr is immediately replaced by a short xattr as in:

	setfattr -n user.test -v very_very_very..._long_value  <file>
	setfattr -n user.test -v short_value  <file>

The first value must be sufficiently long that a spill block is generated
and the second value must be short enough to not require a spill block.
In practice, this would typically happen due to internal xattr operations
as a result of setting acltype=posixacl.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2663
Closes #2700
Closes #2701
Closes #2717
Closes #2863
Closes #2884
2014-12-22 16:31:32 -08:00
cmd Only automatically mount a clone when 'canmount == on'. 2014-06-06 12:30:35 -07:00
config Accept udev and dracut paths specified by ./configure 2014-06-11 16:32:57 -07:00
dracut Refresh dracut module setup 2013-03-21 12:51:06 -07:00
etc Do not export pool to prevent cache from been removed 2014-06-05 13:49:15 -07:00
include Export symbols for ZIL interface 2014-12-22 16:14:30 -08:00
lib Fix memory leak in zpool_clear_label() 2014-05-30 17:00:37 -07:00
man Document the -X and -T options to 'zpool import' 2014-06-06 15:49:34 -07:00
module Undirty freed spill blocks. 2014-12-22 16:31:32 -08:00
patches Adding grub2 mkconfig support patch 2012-07-30 16:17:23 -07:00
rpm Tag zfs-0.6.3 2014-06-12 13:34:38 -07:00
scripts Point dkms build at installed source tree, rather than build directory. 2014-10-09 13:56:04 -07:00
udev Open pools asynchronously after module load 2013-07-03 09:24:38 -07:00
.gitignore Ignore *.{deb,rpm,tar.gz} files in the top directory. 2013-04-24 16:18:59 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.nogitrelease Tag zfs-0.6.3-1.1 2014-10-09 14:07:58 -07:00
AUTHORS Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
COPYRIGHT Refresh links to web site 2013-03-06 15:46:41 -08:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
META Tag zfs-0.6.3-1.1 2014-10-09 14:07:58 -07:00
Makefile.am cstyle: Exclude several files from 'make checkstyle' 2013-12-18 16:46:35 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Initial implementation of zed (ZFS Event Daemon) 2014-04-02 13:10:03 -07:00
copy-builtin Consistent menuconfig name 2012-08-26 13:49:37 -07:00
zfs-script-config.sh.in Initial implementation of zed (ZFS Event Daemon) 2014-04-02 13:10:03 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.markdown

Native ZFS for Linux!

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

ZFS on Linux, which is also known as ZoL, is currently feature complete. It includes fully functional and stable SPA, DMU, ZVOL, and ZPL layers.

Full documentation for installing ZoL on your favorite Linux distribution can be found at: http://zfsonlinux.org