Go to file
Brian Behlendorf 8b4f9a2d55 Fix readlink(2)
This patch addresses three issues related to symlinks.

1) Revert the zfs_follow_link() function to a modified version
of the original zfs_readlink().  The only changes from the
original OpenSolaris version relate to using Linux types.
For the moment this means no vnode's and no zfsvfs_t.  The
caller zpl_follow_link() was also updated accordingly.  This
change was reverted because it was slightly gratuitious.

2) Update zpl_follow_link() to use local variables for the
link buffer.  I'd forgotten that iov.iov_base is updated by
uiomove() so after the call to zfs_readlink() it can not longer
be used.  We need our own private copy of the link pointer.

3) Allocate MAXPATHLEN instead of MAXPATHLEN+1.  By default
MAXPATHLEN is 4096 bytes which is a full page, adding one to
it pushes it slightly over a page.  That means you'll likely
end up allocating 2 pages which is wasteful of memory and
possibly slightly slower.
2011-02-16 15:54:55 -08:00
cmd Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
config Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
etc Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
include Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
lib Suppress share error on mount 2011-02-16 11:05:55 -08:00
man Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
module Fix readlink(2) 2011-02-16 15:54:55 -08:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Update 'zfs.sh -u' to umount all zfs filesystems 2011-02-16 11:10:31 -08:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Update AUTHORS file 2011-02-10 09:27:22 -08:00
autogen.sh Minor packaging fixes 2010-09-01 15:42:32 -07:00
ChangeLog Add build system 2010-08-31 13:41:27 -07:00
configure Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
configure.ac Add Linux Compat Infrastructure 2011-02-10 09:25:10 -08:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
Makefile.am Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
Makefile.in Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
META Update META to 0.6.0 2011-02-10 09:27:22 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Fix markdown rendering 2010-09-15 09:09:37 -07:00
zfs_config.h.in Linux 2.6.36 compat, sops->evict_inode() 2011-02-11 13:47:51 -08:00
zfs-modules.spec.in Use top level object directory in zfs-module.spec 2010-09-10 12:33:31 -07:00
zfs-script-config.sh.in Unconditionally load core kernel modules 2010-11-11 11:38:25 -08:00
ZFS.RELEASE Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs.spec.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00

Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!

$ ./configure
$ make pkg

Full documentation for building, configuring, and using ZFS can be found at: http://zfsonlinux.org