FreeBSD src
Go to file
Brian Behlendorf ceb49b0acd Add object type checking to zap_lockdir()
If a non-ZAP object is passed to zap_lockdir() it will be treated
as a valid ZAP object.  This can result in zap_lockdir() attempting
to read what it believes are leaf blocks from invalid disk locations.
The SCSI layer will eventually generate errors for these bogus IOs
but the caller will hang in zap_get_leaf_byblk().

The good news is that is a situation which can not occur unless the
pool has been damaged.  The bad news is that there are reports from
both FreeBSD and Solaris of damaged pools.  Specifically, there are
normal files in the filesystem which reference another normal file
as their parent.

Since pools like this are known to exist the zap_lockdir() function
has been updated to verify the type of the object.  If a non-ZAP
object has been passed it EINVAL will be returned immediately.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #2597
Issue #2602
2014-09-08 09:15:38 -07:00
cmd Improve handling of filesystem versions 2014-09-03 09:17:14 -07:00
config Retire HAVE_IOCTL_* configure checks 2014-08-28 07:45:54 -07:00
contrib Add bash completions by Aneurin Price. 2014-08-06 15:03:28 -07:00
dracut Correct autodetection of bootfs property 2014-08-13 16:53:06 -07:00
etc Import zfs pools after cryptsetup 2014-09-04 09:50:45 -07:00
include Linux AIO Support 2014-09-05 15:11:43 -07:00
lib Fragmentation should display as '-' if spacemap_histogram=disabled 2014-09-05 09:19:01 -07:00
man Change the default 'zfs_dedup_prefetch' value to '0' 2014-09-04 09:50:45 -07:00
module Add object type checking to zap_lockdir() 2014-09-08 09:15:38 -07:00
rpm Add a pkgconfig file 2014-08-28 07:59:43 -07:00
scripts zpool-create.sh: allow features to be disabled 2014-07-25 11:58:31 -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 Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Add a pkgconfig file 2014-08-28 07:59:43 -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 Add bash completions by Aneurin Price. 2014-08-06 15:03:28 -07: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