Package Details: zfs-utils

Git Clone URL: (read-only)
Package Base: zfs-dkms
Description: Kernel module support files for the Zettabyte File System.
Upstream URL:
Licenses: CDDL
Conflicts: zfs-utils-git, zfs-utils-lts
Submitter: isiachi
Maintainer: isiachi
Last Packager: isiachi
Votes: 30
Popularity: 3.811146
First Submitted: 2015-08-31 12:01
Last Updated: 2017-02-12 22:38

Latest Comments

sulaweyo commented on 2017-05-23 16:40

4.11 kernel support is in 0.7.0 release of zol.
Guess we will have to wait for a release or go with the current RC which is might be a bit dangerous for a filesystem.

bus commented on 2017-05-21 05:34

dkms install fails on 4.11.2-1-ck-sandybridge. make.log reports:
make: *** No targets specified and no makefile found. Stop.

Horus commented on 2017-05-05 07:03

For me it works fine with 4.10.11.

saivert commented on 2017-05-04 12:47

No update since kernel 4.10 came out a while ago? Are we just to assume it works with any newer kernel?

dreieck commented on 2017-04-13 11:22


I made a patch for the PKGBUILD (can be used with customizepkg(-scripting)) implementing your suggestions:

The two files you suggest are at
respectively (although I do not install the bash script to /usr/share/libalpm/hooks/, rather to /usr/lib/dkms/. Does anyone know where it should really belong?)

dreieck commented on 2017-04-13 10:47

For the package 'zfs-dkms', please add

conflicts=('zfs-linux') (It does, in fact)
provices=("zfs-linux=${pkgver}") (it does, in fact, and is needed by other packages depending on zfs-linux).

(I am referencing to conflicts and dependencies with the packages at the repository
Server =$repo/x86_64)

For the package 'zfs-utils', please add

conflicts=('zfs-utils-linux') (It does, in fact)
provices=("zfs-utils-linux=${pkgver}") (it does, in fact, and is needed by other packages depending on zfs-linux).

(I am referencing to conflicts and dependencies with the packages at the repository
Server =$repo/x86_64)

laec commented on 2017-04-12 09:31

@masteroman I have the same issue, I use an alpm hook ( to workaround it:

1. Place this hook in /usr/share/libalpm/hooks/60-dkms-install-zfs.hook, this should execute before the default 70-dkms-install.hook

Operation = Install
Operation = Upgrade
Type = File
Target = usr/src/sql-*/dkms.conf
Target = usr/src/zfs-*/dkms.conf
Target = usr/lib/modules/*/kernel/

Description = Installing ZFS
Depends = dkms
When = PostTransaction
Exec = /usr/share/libalpm/hooks/dkms-install-zfs

2. Place this script in the same directory as the hook and make it executable:


set -o errexit
set -o nounset
set -o xtrace

install_module() {
local module="${1}"
local kernel="${2}"
for m in $(ls /usr/src); do
if [[ "${m}" =~ ^"${module}"-(.*)$ ]]; then
dkms install "${module}/${BASH_REMATCH[1]}" -k "${kernel}"

for kernel in $(ls /usr/lib/modules); do
if [[ -d "/usr/lib/modules/${kernel}/kernel" ]]; then
install_module spl "${kernel}"
install_module zfs "${kernel}"

this will make sure spl gets installed before zfs, it works for my setup.

@isiachi would you consider adding something like this to be part of this package to make it work out of the box?

masteroman commented on 2017-04-07 10:05

Am I wrong or there's wrong order of DKMS installations? Every upgrade of the kernel on my machine fails because of the missing SPL which happens because there's following order of commands:

1. DKMS removes spl and zfs kernel modules
2. DKMS installs zfs kernel module --> fails because of the missing spl module
3. DKMS installs spl module

Then I need to manually issue dkms install zfs module.

RubenKelevra commented on 2017-03-13 16:55

@thunderforce I don't try to _install_ but update the package, don't know how you got the thought I would try to install it.

@isiachi Nope, you package is broken not an aurhelper script. This is a plane stupid "works for me" reason from your side.

If you say "my package need version=xyz" and you want to upgrade the package and the next version has the dependency "I need version=abc" it cannot be upgraded. As well as the dependency cannot be upgraded, because it's a needed dependency with this version for an installed version.

I would say, yes this could be fixed in pacman, if they add a layer of complexity: copy all installed package versions, change them to the new versions and checking all constrains. But since this is not done, your package uses a not compatible way of adding a constrain.

Since you update both packages at the same time, you could simply add a "higher than xyz" on the zfs package and it would work while updating.

RubenKelevra commented on 2017-03-13 16:44

This package is now again not working with the official kernel package since the compability patches for Linux 4.10 are missing. Please fix this

bus commented on 2017-03-12 17:05

I use zfs-dkms and I have no problem installing zfs-auto-snapshot-git either with pacaur or with makepkg.
Try downloading the PKGBUILD file and installing it with makepkg.

fow0ryl commented on 2017-03-10 19:23

I'm new on manjaro (arch based linux). So I may be wrong.
But to me, it looks like that "provides zfs" in zfs-dkms doesn't work.
I have zfs running, so I'm sure that zfs-dkms works as expected.
But when I try to install i.e. zfs-auto-snapshot-git, which depends on zfs it doesn't recognise "zfs" and try's to install linux...-zfs.
Then when I remove depends('zfs') or change is to depends('zfs-dkms') in PKGBUILD of zfs-auto-snapshot-git everything went fine.
When I do a "pacman -R zfs" I get "not found" too.

isiachi commented on 2017-02-20 20:47

Thanks for the help!

I have already explained that is a aur helper related problem in this comment:
isiachi commented on 2016-09-20 19:45

thunderforce commented on 2017-02-20 07:55

@RubenKelevra, not sure why you're trying to install this package, but while trying to use VirtualBox and a google search I ended up here. This fixed the DKMS hook for me:

sudo pacman -U linux-headers-4.9.8-1-x86_64.pkg.tar.xz

:: Running post-transaction hooks...
(1/2) Install DKMS modules
==> dkms install vboxhost/5.1.14_OSE -k 4.9.8-1-ARCH
(2/2) Arming ConditionNeedsUpdate...

hope it's helpful

RubenKelevra commented on 2017-02-14 02:58

Still issues with a simple update because this PKGBUILD depends on a given version:

loading packages...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: zfs-dkms: installing spl-dkms ( breaks dependency 'spl-dkms='

RubenKelevra commented on 2017-02-12 14:55

Friday is now two days gone, so where's the update, mate?

RubenKelevra commented on 2017-02-08 22:33

Still no update? Why does it take 5 days for a simple subversion update, which only needs a checksum-push?

isiachi commented on 2017-02-07 00:23

There will be an update in friday.

ShaunPC commented on 2017-02-06 14:57

@scott32 zfs-dkms has not implemented dependency hooks or has implemented them incorrectly as dkms itself has the capability yet zfs will try to build before spl.

scott32 commented on 2017-02-06 13:46

@ShaunPC: "On investigation it appears that dkms already has a module dependency check implemented" ... when I look into /usr/share/libalpm/hooks/70-dkms-install.hook and /usr/lib/dkms/alpm-hook, I don't see any dependency, or module build ordering checks there. What did you mean?

fermatslast commented on 2017-02-06 02:37

To use with a 4.9 kernel, edit the PKGBUILD for both spl-dkms and zfs-dkms, change pkgver to

ShaunPC commented on 2016-12-19 15:50

@salvert I too have been having trouble with dkms installing the modules in the wrong order. There does not seem to be an order implemented by the zfs module. On investigation it appears that dkms already has a module dependency check implemented. So my guess is that the zfs module is not using the dkms dependency check correctly. I've been rerunning the dkms install for zfs manually after my updates and then rerunning mkinitcpio to regenerate my kernel images. That has worked for me till this problem gets fixed.

saivert commented on 2016-12-14 13:50

On a recent upgrade to linux 4.8.13-1, the hook for building DKMS modules somehow tried to build zfs before spl and zfs depends on spl..

:: Running post-transaction hooks...
( 1/10) Install DKMS modules
==> dkms install zfs/ -k 4.8.13-1-ARCH
configure: error:
*** Please make sure the kmod spl devel <kernel> package for your
*** distribution is installed then try again. If that fails you
*** can specify the location of the spl objects with the
*** '--with-spl-obj=PATH' option.
Error! Bad return status for module build on kernel: 4.8.13-1-ARCH (x86_64)
Consult /var/lib/dkms/zfs/ for more information.
==> dkms install spl/ -k 4.8.13-1-ARCH
( 2/10) Updating linux initcpios

Is there a way to specify ordering of DKMS modules when building them or is this a problem with this package?

brando56894 commented on 2016-12-13 01:17

You should change the shebang to /usr/bin/python2, when it gets to the L2 summary it crashes for me using python 3.x

lilydjwg commented on 2016-11-04 12:28

You left out a "&" here:

seschwar commented on 2016-10-23 19:31

You can find fixes for my complaints at

There's also support for GRUB's root=ZFS=mypool/myfs kernel command line syntax.

seschwar commented on 2016-09-22 21:34


You updated the initcpio hook to mount all child data sets of the dataset mounted on /. See line 59 in /usr/lib/initcpio/hooks/zfs.

This is quite problematic since the script completely ignores the canmount property. Therefore datasets with canmount=off and canmount=noauto get mounted as well. This completely breaks the semantics of these properties.

The manual page of the zfs command has the following sentence in it:

> Setting this property [canmount] to off allows datasets to be used solely as a mechanism to inherit properties.

I had a dataset for /var with canmount=off for exactly this purpose. Imagine my surprise when this empty dataset got mounted leaving me with an almost empty /var. Quite the breaking change you introduced there.

I'm not quite sure about the motivation behind this. It could be useful for boot environments. Something similar was discussed recently on a FreeBSD mailing list: However they should be careful when repurposing an established setting of property. Changing how the mounting of datasets work would break backwards compatibility.

isiachi commented on 2016-09-20 19:45

| Upgrading this package from the previous version does not work, you have to remove it and readd to your system.
| The issue is some kind of dependency circle between this package and the spl-dkms:

This is because you have to build all the packages on your own and install all of them together.

Otherwise you have to install the spl packages with the -d option.

# pacman -Ud spl-dkms### spl-utils###

This is a AUR helper problem. It's not my fault. Stop saying things that have no sense and learn how to use pacman.

isiachi commented on 2016-09-20 19:36


We are talking of a filesystem and this is a stable branch. I've already said that I wasn't going to add a single commit from the master branch, too much things were changed.

Unfortunately I wasn't able to lock the package to a specific kernel version because the kernel is not a dependecy.

And also take a breath and calm down.

RubenKelevra commented on 2016-09-20 19:34

@utsi just use a conflict constraint for such cases:

conflict linux>4.6.xx etc. :)

RubenKelevra commented on 2016-09-20 19:31

Upgrading this package from the previous version does not work, you have to remove it and readd to your system.

The issue is some kind of dependency circle between this package and the spl-dkms:

Sorry that it is in german:

Fehler: Konnte den Vorgang nicht vorbereiten (Kann Abhängigkeiten nicht erfüllen)
:: zfs-dkms: das Installieren von spl-dkms ( löscht ein benötigtes Packet von 'spl-dkms='

utsi commented on 2016-09-19 08:49

@RubenKelevra Ah, so sorry I misunderstood the issue! As far as accepting the patch I can understand why he would not accept it, only official releases. As for limiting to kernels <4.7, which kernels specifically? linux? linux-lts? linux-ck?

RubenKelevra commented on 2016-09-19 07:12

@babarnescocke I actually dislike if I hit update and my
system does not boot up again. This is not a stable behaviour,
this is just a broken dependency. This maintainer does not
want to fix this or add the 4.7 patch which was provided
several weeks ago.

If he wants only to support LTS-Kernels he should create a
LTS-ZFS package and this is fine, else I would expect more
than just a I-dont-like-to-patch behaviour, without fixing the
actually dependency issue.

utsi commented on 2016-09-18 23:26


It took quite a bit of time for for ZOL to be ready for 4.7.
Taking that into account is waiting a few more days for the AUR package to get updated _that_ bad?

As babarnescocke said, this is a freaking filesystem, of all the things that should not bug out, this is probably the most important next to the kernel itself.

Also thanks to the maintainer, been enjoying your DKMS packages for a while now without issues! :)

isiachi commented on 2016-09-17 17:44


Thanks I really appreciated!

babarnescocke commented on 2016-09-17 17:05

Calm down.

I don't want my filesystem on the fritz because people don't want to wait for updates.

To be clear, I am not 100% sure what is going on, why the maintainer believes/is right to to think that the PKGBUILD to fix 4.7 linux is unstable - and maybe I would prefer this behavior more in a zfs-lts branch - but this is what you get with the AUR. If you wanted bulletproof support you should have gone to another repo.

Maintainer - keep on keeping on, I look forward to the future updates. Thanks for your hardwork.

RubenKelevra commented on 2016-09-15 09:46

No reaction, no update ... what the heck is wrong with the maintainer? :(

RubenKelevra commented on 2016-09-11 11:52

This package is completely useless in the current state, might someone else please consider to maintain it? The current approach is not useful at all.

MilanKnizek commented on 2016-09-03 06:31

The inability of the package to block the system upgrade due to unsupported kernel version is really troublesome. (Although I do not know if it can be done without adding a dependency on a particular kernel package name.)

isiachi commented on 2016-08-29 08:55

I'm not going to add your patch. This is a stable branch. Use the 4.6 kernel or switch to zfs-dkms-git.

akgrant0710 commented on 2016-08-28 20:18

@fermatslast Thanks for your patch, very much appreciated.

jrb commented on 2016-08-23 22:42

I just noticed due to differences in service names between RH/Fedora and Arch, /usr/lib/systemd/system/zfs-share.service incorrectly references 'smb.service' instead of 'smbd.service'. I have a patch for the systemd unit in question, as well as a patch for the pkgbuild applying the systemd unit patch (both trivial, obviously), but am unsure of the correct way to submit them.

RubenKelevra commented on 2016-08-16 23:02

Would be great if this package can be guarded with something like linux < 4.7 to avoid an incompatible update because the package-maintainer is sleeping.

escentrix commented on 2016-08-15 13:52

Great! That patch gets me working for now until the upstream stuff gets done. Thanks for your help!

fermatslast commented on 2016-08-15 04:36

Here's a patch for the pkgbuild that adds a linux 4.7 compatibility patch to the build:

This is a temporary fix until the zfsonlinux upstream release has 4.7 support.

escentrix commented on 2016-08-12 20:02

Arch has now moved to 4.7.0 kernel, causing this package some trouble. What all needs to be done to bring this up to speed?

lockheed commented on 2016-08-04 07:44

Thanks. However, after compiling the new kernel and installing it, I get this:

-> Running build hook: [zfs]
==> ERROR: module not found: `zavl'
==> ERROR: module not found: `znvpair'
==> ERROR: module not found: `zunicode'
==> ERROR: module not found: `zcommon'
==> ERROR: module not found: `zfs'
==> ERROR: module not found: `zpios'
==> ERROR: module not found: `spl'
==> ERROR: module not found: `splat'

isiachi commented on 2016-07-28 11:14


If you remove the zfs package the old module are still loaded so you can simple install zfs-dkms.

lockheed commented on 2016-07-27 16:55

I have a technical question, sort of removing the tablecloth underneath the dinner set...

I have a server with ZFS on root which runs on regular zfs packages (non-dkms). I need to migrate to zfs-dkms (and friends) to get support for non-stock Arch kernel.

The question is: how can I do that?

To install -dkms packages, I need to remove regular packages. But if I do that, I am afraid I will not be able to boot (or even operate on root prior to reboot) anymore because the whole root is on ZFS.

Can someone propose some sane course of action?

isiachi commented on 2016-07-02 15:11

Thanks for the advices. This package is using and will use git to fetch the source.

For the alpm-hooks it's not a bad idea. I've already thought about but right now the kernel package updates the initcpio with the old .install script. So basically the initcpio it's always updated before dkms. I'm following this bug report and see what they want to do. (

seschwar commented on 2016-07-01 22:42

When using the tarball instead of Git you wouldn't have to download the whole history of the repository: source=($pkgver/zfs-$pkgver.tar.gz)

Also alpm-hooks(5) for rebuilding the initcpio when the DMKS modules have been rebuilt would be useful if your / is on ZFS.

bazzawill commented on 2016-05-21 05:31

Is it possible to remove the hard version for spl-dkms= to allow for higher versions as this would allow upgrades to progress easier

cschwarz commented on 2016-05-08 22:24

Disabling checksum-checking is a bad idea (since, commit 8f9f7d54b520e920d1561a49b76ee092f6c13d4f).

If you don't want to use the tarballs, you should use the commit SHA1,e.g.


Otherwise, since the tags are not signed, they could be changed by upstream, rendering inconsistent versioning of this package.

Please change this back in all (zfs|spl)-(dkms|utils).

isiachi commented on 2016-04-04 12:52

It's all about build not dep.

Upgrade your packages with -d flag.

bazzawill commented on 2016-04-04 07:03

This package is creating dependency hell. Due to spl-dkms. Attempting to update spl-dkms first gives the error
"zfs-dkms: installing spl-dkms ( breaks dependency 'spl-dkms="
However attempting to update zfs-dkms first gives the error that spl-dkms is required (sorry no direct error message). I had to uninstall update spl-dkms then install to bypass.

WoefulDerelict commented on 2015-10-03 05:13

This package is an excellent resource and it is unfortunate to see it go unmaintained. I've updated the PKGBUILD and given it a bit of polish. Users can find the modified resources at the following URLs:

isiachi commented on 2015-09-23 15:43

In the weekend I will update it.

Sorry but tomorrow I've got my degree so I'm a little busy.

seblu commented on 2015-09-22 21:05

Could you bump this package, is doesn't works with 4.2 kernels!