Commit Graph

42 Commits

Author SHA1 Message Date
William A. Kennington III
e0a5b75d9c zfs: Update git version 2015-01-02 12:46:36 -08:00
William A. Kennington III
f6622403c8 zfs: 0.6.3 -> 0.6.3-1.2 2014-12-23 17:05:02 -08:00
Domen Kožar
27281f660c fix builds for rest of kernel modules on 3.18 2014-12-11 02:03:43 +01:00
Ricardo M. Correia
12e77fdc3f nixos/zfs: Improve the ZFS boot process
It turns out that the upstream systemd services that import ZFS pools contain
serious bugs. The first major problem is that importing pools fails if there
are no pools to import. The second major problem is that if a pool ends up in
/etc/zfs/zpool.cache but it disappears from the system (e.g. if you
reboot but during the reboot you unplug your ZFS-formatted USB pen drive),
then the import service will always fail and it will be impossible to get rid
of the pool from the cache (unless you manually delete the cache).

Also, the upstream service would always import all available ZFS pools every
boot, which may not be what is desired in some cases.

This commit will solve these problems in the following ways:

1. Ignore /etc/zfs/zpool.cache. This seems to be a major source of
issues, and also does not play well with NixOS's philosophy of
reproducible configurations. Instead, on every boot NixOS will try to import
the set of pools that are specified in its configuration.  This is also the
direction that upstream is moving towards.

2. Instead of trying to import all ZFS pools, only import those that are
actually necessary. NixOS will automatically determine these from the
config.fileSystems.* option. Also, the user can import any additional
pools every boot by adding them to the config.boot.zfs.extraPools
option, but this is only necessary if their filesystems are not
specified in config.fileSystems.*.

3. Added options to configure if ZFS should force-import ZFS pools. This may
currently be necessary, especially if your pools have not been correctly
imported with a proper host id configuration (which is probably true for 99% of
current NixOS ZFS users). Once host id configuration becomes mandatory when
using ZFS in NixOS and we are sure that most users have updated their
configurations and rebooted at least once, we should disable force-import by
default. Probably, this shouldn't be done before the next stable release.

WARNING: This commit may change the order in which your non-ZFS vs ZFS
filesystems are mounted.  To avoid this problem (now or in the future)
it is recommended that you set the 'mountpoint' property of your ZFS
filesystems to 'legacy', and that you manage them using
config.fileSystems, just like any other non-ZFS filesystem is usually
managed in NixOS.
2014-11-12 22:31:49 +01:00
Ricardo M. Correia
3b0fa60a98 zfs: Enable systemd
Also remove custom zfs services from NixOS.  This makes NixOS more aligned with
upstream.

More importantly, it prepares the way for NixOS to use ZED (the ZFS event
daemon). This service will automatically be enabled but it is not possible to
configure it via configuration.nix yet.
2014-11-12 22:31:49 +01:00
William A. Kennington III
c202893b8d zfs: Add upstream patch bc151f7 to fix kernel 3.18 builds
Additionally, recognize that the contents of the nix-build.patch are
included in the upstream tree as 3cd33ff and will be released in 0.6.4.
2014-11-11 00:52:14 -08:00
Ricardo M. Correia
80709b141c zfs.git: Fix vdev_id error when plugging in a disk (#3161) 2014-07-02 17:23:35 +02:00
Ricardo M. Correia
7e20124875 zfs: Fix vdev_id error when plugging in a disk (#3161) 2014-07-02 16:34:46 +02:00
Ricardo M. Correia
9e1ec18624 zfs, zfs.git: Update to 0.6.3 2014-06-23 15:52:21 +02:00
Ricardo M. Correia
419a71e1e5 spl, zfs: Add git versions, based on recent commits
Upstream has not been tagging new versions for a long time, but we need
compatibility with newer kernels. The 0.6.2 versions already have a bunch of
backported compatibility patches, but 3.14 kernels need even more.

Also, the git versions have fixed a bunch of crashes and other bugs, so perhaps
we should just bite the bullet and just use recent git versions (as sometimes
upstream recommends, when people run into bugs).

This adds a new "boot.zfs.useGit" boolean option, so that a user can
easily opt into using the git versions.
2014-04-23 01:42:52 +02:00
Ricardo M. Correia
3c97fdc7a8 spl, zfs: Add myself as a maintainer 2014-03-15 02:01:57 +01:00
Ricardo M. Correia
a7e65a8a95 zfs: Fix compilation on 3.13 and later kernels 2014-03-04 12:58:59 +01:00
Ricardo M. Correia
d01242edb8 zfs: Fix minor filesystem corruption with gcc 4.8
It turns out that some of gcc 4.8's aggressive optimizations may
cause minor filesystem corruption in ZFS. To fix it, a patch was
cherry-picked from the upstream's git tree.

See: https://github.com/zfsonlinux/zfs/pull/2051
2014-03-04 12:58:11 +01:00
Ricardo M. Correia
e0fe5e7c38 zfs: Fix libblkid detection (backport from upstream)
This fixes issues with importing ZFS pools, such as when the ZFS device is a
partition that covers the end of the disk.

See: https://github.com/zfsonlinux/zfs/issues/1684
2014-03-04 12:58:11 +01:00
Shea Levy
a589bfae17 Update and fix kernel packages to new kernel build
In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-04 21:17:04 -05:00
Jack Cummings
fc101c01a5 zfs-0.6.2 and spl-0.6.2
Enable parallelBuilding, too.
2013-08-23 23:20:03 -07:00
Jack Cummings
4c37edd6f3 Don't need NIX_CFLAGS_COMPILE in spl build anymore, consolodate zfs patches. 2013-04-06 00:06:27 -07:00
Jack Cummings
d1cb67a629 spl-0.6.1, zfs-0.6.1 2013-04-06 00:01:02 -07:00
Shea Levy
4fa4ab3a6e Partially revert my recent kernelPackages changes
First, pass in `self' again so that overriding works properly (thanks
for pointing that out, @edolstra)

Second, instead of having linuxPackages*.kernel mean something different
inside the set and out, add a new attribute linuxPackages*.kernelDev,
which for the generic kernel is simply linuxPackages*.kernel but for the
manual-config kernel is the `dev' output (which has the build tree,
source tree, etc.)

The second change required trivial modifications in a bunch of
expressions, I verified that all of the linuxPackages* sets defined in
all-packages.nix have the same drv paths before and after the change.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-24 07:45:00 -04:00
David Guibert
059c30bf9d add kernel 3.8 2013-02-21 08:53:16 +01:00
Jack Cummings
c6d9e073b0 zfs-0.6.0-rc14, spl-0.6.0-rc14 2013-02-01 19:52:57 -08:00
David Guibert
bc8a6e6c19 new download host for zfsonlinux.org: spl/zfs 2013-01-18 08:31:25 +01:00
Jack Cummings
c73e542634 zfs-0.6.0-rc13, spl-0.6.0-rc13 2012-12-21 16:30:19 -08:00
Jack Cummings
462b2b5d7f ztest: fix hardcoded paths 2012-12-04 14:08:34 -08:00
Eelco Dolstra
79725bb5bc Mark some packages as low priority and disambiguate some others 2012-11-29 15:26:13 +01:00
Jack Cummings
4775e71049 Need pthread_cancel for zdb to work properly. Add -lgcc_s. 2012-11-26 21:32:24 -08:00
David Guibert
2f98255be8 zfs: remove useless patch 2012-11-15 09:02:27 +01:00
David Guibert
87d2a82628 update spl/zfs to 0.6.0-rc12 2012-11-15 08:58:34 +01:00
Jack Cummings
0611a8b223 Linux-3.6 fixes. Need to ./autogen.sh in zfs now, as the linux-3.6 patch adds autoconf macros. Which means that all of my Makefile.in patches need to be puplifted to Makefile.am patches. 2012-11-15 07:41:11 +01:00
Jack Cummings
b999698440 - add back the plaform, as it is permitted to distribute the binary kernel modules. See https://github.com/NixOS/nixpkgs/pull/145 2012-11-15 07:41:11 +01:00
Jack Cummings
2dd60084f8 - updates from the license discussion in https://github.com/NixOS/nixpkgs/pull/145 2012-11-15 07:41:11 +01:00
Jack Cummings
3dbb87ec8e - make 'platforms' empty to prohibit building on hydra. 2012-11-15 07:41:11 +01:00
Jack Cummings
abd6046168 - fix spl license, add workarounds for zfs on i686-linux 2012-11-15 07:41:11 +01:00
David Guibert
4f31337f07 fix mount/umount into libzfs 2012-10-25 22:24:33 +02:00
David Guibert
85140f590a zfs: fix udev rules
This patch fixes Nixos checking of udev rules:
Checking that all programs call by absolute paths in udev rules exist ... FAIL
/lib/udev/vdev_id is called in udev rules but not installed by udev
2012-10-12 08:38:38 +02:00
Jack Cummings
b70d41d309 - long descriptions 2012-10-11 13:50:28 -07:00
Jack Cummings
e23bda977d - removing old spl/zfs versions 2012-10-05 09:40:26 -07:00
Jack Cummings
e7f3ff803e - zfs 0.6.0-rc11, spl 0.6.0-rc11 2012-10-05 09:11:25 -07:00
Jack Cummings
ccad09d3b9 Revert " - zfs-0.6.0-rc11, and spl-0.6.0-rc11"
This reverts commit 8eb9491a22.
2012-10-05 09:07:33 -07:00
Jack Cummings
8043344266 Revert " - remove old versions"
This reverts commit 65d3ef369e.
2012-10-05 09:07:11 -07:00
Jack Cummings
65d3ef369e - remove old versions 2012-10-05 00:12:15 -07:00
Jack Cummings
8eb9491a22 - zfs-0.6.0-rc11, and spl-0.6.0-rc11 2012-10-05 00:09:49 -07:00