Go to file
Brian Behlendorf 3117dd0b90 Handle NULL in nfsd .fsync() hook
How nfsd handles .fsync() has been changed a couple of times in the
recent kernels.  But basically there are three cases we need to
consider.

Linux 2.6.12 - 2.6.33
* The .fsync() hook takes 3 arguments
* The nfsd will call .fsync() with a NULL file struct pointer.

Linux 2.6.34
* The .fsync() hook takes 3 arguments
* The nfsd no longer calls .fsync() but instead used sync_inode()

Linux 2.6.35 - 2.6.x
* The .fsync() hook takes 2 arguments
* The nfsd no longer calls .fsync() but instead used sync_inode()

For once it looks like we've gotten lucky.  The first two cases can
actually be collased in to one if we stop using the file struct
pointer entirely.  Since the dentry is still passed in both cases
this is possible.  The last case can then be safely handled by
unconditionally using the dentry in the file struct pointer now
that we know the nfsd caller has been removed.

Closes #230
2011-05-06 12:33:45 -07:00
cmd Fix awk usage 2011-05-06 10:16:04 -07:00
config Add Gentoo/Lunar/Redhat Init Scripts 2011-05-02 15:59:13 -07:00
dracut Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
etc Add Gentoo/Lunar/Redhat Init Scripts 2011-05-02 15:59:13 -07:00
include Handle NULL in nfsd .fsync() hook 2011-05-06 12:33:45 -07:00
lib Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
man Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
module Handle NULL in nfsd .fsync() hook 2011-05-06 12:33:45 -07:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Add Gunnar Beutner to AUTHORS for his contributions 2011-04-19 14:14:51 -07: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 Add Gentoo/Lunar/Redhat Init Scripts 2011-05-02 15:59:13 -07:00
configure.ac Set cmd paths in udev rules using --prefix 2011-03-25 10:05:09 -07: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 Add dracut support 2011-03-17 16:52:04 -07:00
Makefile.in Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
META Prep zfs-0.6.0-rc4 tag 2011-05-03 10:29:05 -07: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 Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
zfs-modules.spec.in Fix rebuildable RPMs for el6/ch5 2011-04-08 10:22:42 -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 Add parted and lsscsi dependencies to zfs-test 2011-04-19 15:22:46 -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