Go to file
Jan Engelhardt aca19e063b Do not attempt access beyond the declared end of the dn_blkptr array
This loop in dmu_objset_write_ready():

	for (i = 0; i < dnp->dn_nblkptr; i++)
		bp->blk_fill += dnp->dn_blkptr[i].blk_fill;

invokes _undefined behavior_ for the (common) case of dn_nblkptr=3,
therefore, the compiler is free to do whatever it wants (such as
optimizing it away, or otherwise messing up your expections).

The fix is to be honest about the array size.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2511
Closes #2010
2014-07-22 09:55:37 -07:00
cmd Illumos #4756 Fix metaslab_group_preload deadlock 2014-07-22 09:41:32 -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 Do not attempt access beyond the declared end of the dn_blkptr array 2014-07-22 09:55:37 -07:00
lib Illumos #4101, #4102, #4103, #4105, #4106 2014-07-22 09:39:16 -07:00
man Illumos #4101, #4102, #4103, #4105, #4106 2014-07-22 09:39:16 -07:00
module zfs_trunc() should use dmu_tx_assign(tx, TXG_WAIT) 2014-07-22 09:41:38 -07: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 Set LANG to a reasonable default (C) 2014-06-10 16:46:21 -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
AUTHORS 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
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
Makefile.am cstyle: Exclude several files from 'make checkstyle' 2013-12-18 16:46:35 -08:00
META Tag zfs-0.6.3 2014-06-12 13:34:38 -07: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
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

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