Spl/zfs modules and GCC v7.1.1

Due an issue with GCC v7.1 series and spl/zfs modules I had to compile those with GCC v6.3.1. However I didn't test them yet with todays released kernels in our unstable branch. Seems all kernels higher than v4.4 series have this issue.

Does the modules work for you on v4.4.71, 4.9.31, v4.11.4, v4.12-rc4?

  • yes, the modules work just fine
  • no, there is an issue (please post about it)

0 voters

hi philm ,
i have just checked the repo git SPL/ZFS
on their chancelog


version SPL/ZFS 0.7 (RC4) --> linux411 included OK
version SPL/ZFS 0.6.5.9 --> linux 410 included OK

so it means --> back to kernels 4.9 for linux with ZFS
have the good version SPL/ZFS , be careful with hostID that have to be verified by SPL/ZFS
or they will not mount .....

and wait 4.11 with GCC7.1 for SPL/ZFS

Seems at least modprobe works. Lets see if I get some feedback from someone actually using this filesystem zfs ...

phil@manjaro ~/Arbeitsfläche $ pacman -Q linux411-spl
linux411-spl 0.6.5.9-4
phil@manjaro ~/Arbeitsfläche $ pacman -Ql linux411-spl
linux411-spl /usr/
linux411-spl /usr/lib/
linux411-spl /usr/lib/modules/
linux411-spl /usr/lib/modules/extramodules-4.11-MANJARO/
linux411-spl /usr/lib/modules/extramodules-4.11-MANJARO/spl.ko.gz
linux411-spl /usr/lib/modules/extramodules-4.11-MANJARO/splat.ko.gz
phil@manjaro ~/Arbeitsfläche $ export LANG=C
phil@manjaro ~/Arbeitsfläche $ sudo modprobe spl
phil@manjaro ~/Arbeitsfläche $ lsmod | grep spl
spl                    73728  0

This https://github.com/manjaro/packages-extra/blob/master/linux411-extramodules/spl_zfs/PKGBUILD made me think you might have patched it to work with kernel 4.11, but I got this:

==> dkms install spl/0.6.5.9 -k 4.11.7-1-MANJARO
configure: error: unknown
Error! Bad return status for module build on kernel: 4.11.7-1-MANJARO (x86_64)
Consult /var/lib/dkms/spl/0.6.5.9/build/make.log for more information.

The make.log says
make: *** No targets specified and no makefile found. Stop.

Looks like the real fix will be in zfsonlinux 0.6.5.11 : https://github.com/zfsonlinux/zfs/projects/8#card-3438667

Don't really know what I'm talking about, just guessing. :slight_smile:

I have compiled today zfs 0.7rc4 with dkms for 4.4, 4.9,4.11, and 4.12. with gcc in repo, that is. (I am on testing)
Seems working ok. I have external drive with zfs and one virtual device on ext4 partition with several data sets. All is fine.
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
bmaxa_backup 1.81T 976G 880G - 23% 52% 1.00x ONLINE -
bmaxa_data 600G 473G 126G - 60% 78% 1.00x ONLINE -

NAME USED AVAIL REFER MOUNTPOINT
bmaxa_backup 976G 822G 820G /home/bmaxa/zfs/bmaxa_backup
bmaxa_backup/Steam 130G 822G 130G /home/bmaxa/zfs/bmaxa_backup/Steam
bmaxa_backup/go 300M 822G 300M /home/bmaxa/zfs/bmaxa_backup/go
bmaxa_backup/mysql 295M 822G 295M /home/bmaxa/zfs/bmaxa_backup/mysql
bmaxa_backup/postgres 912M 822G 912M /home/bmaxa/zfs/bmaxa_backup/postgres
bmaxa_backup/projects 25.1G 822G 25.1G /home/bmaxa/zfs/bmaxa_backup/projects
bmaxa_data 473G 108G 319G /home/bmaxa/zfs/bmaxa_data/
bmaxa_data/Steam 128G 108G 128G /home/bmaxa/Steam
bmaxa_data/boinc 46.8M 108G 46.8M /var/lib/boinc
bmaxa_data/cache 428M 108G 428M /home/bmaxa/.cache
bmaxa_data/clang 938M 108G 938M /home/bmaxa/clang
bmaxa_data/gcc-trunk 1.40G 108G 1.40G /home/bmaxa/gcc-trunk
bmaxa_data/ghc 740M 108G 740M /home/bmaxa/ghc
bmaxa_data/go 263M 108G 263M /home/bmaxa/go
bmaxa_data/mysql 284M 108G 284M /var/lib/mysql
bmaxa_data/postgres 697M 108G 697M /var/lib/postgres
bmaxa_data/projects 20.9G 108G 20.9G /home/bmaxa/projects
bmaxa_data/public 14.1M 108G 14.1M /public
bmaxa_data/rust 130M 108G 130M /home/bmaxa/rust

This doesn't work, as the spl/zfs-dkms doesn't has the needed patches.

Issue with certain volumes under 4.12, e.g.:

Jul 03 17:37:07 ivy zfs[1859]: filesystem 'tank' can not be mounted due to error 17
Jul 03 17:37:07 ivy zfs[1859]: cannot mount 'tank': Invalid argument

This isn't consistent across volumes though, as both a standard volume and a zvol have both mounted correctly.

There is, however, a new point-release which has (among other things) a number of 4.12 compatibility patches:

I'm trying a build now.

Edit: arg, hitting circular deps... but SPL still needs spl-dont-take-spin-lock-on-rwlock-owner.patch::https://github.com/zfsonlinux/spl/commit/4f8e643afe9d8cc558566e1dda05ef597cb2526e.patch

ZFS works after installing ZFS modules, as follows:

[root@SSD1 ~]# zpool list
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.
[root@SSD1 ~]# /sbin/modprobe zfs
modprobe: FATAL: Module zfs not found in directory /lib/modules/4.11.8-1-MANJARO
...

[jh@SSD1 pkg]$ sudo pacman -S zfs
:: There are 11 providers available for zfs:
:: Repository extra
   1) linux310-zfs  2) linux312-zfs  3) linux316-zfs  4) linux318-zfs  5) linux41-zfs  6) linux410-zfs  7) linux411-zfs  8) linux412-zfs  9) linux44-zfs  10) linux48-zfs  11) linux49-zfs
Enter a number (default=1): 7
resolving dependencies...
looking for conflicting packages...
Packages (2) linux411-spl-0.6.5.9-7  linux411-zfs-0.6.5.9-7
...

[root@SSD1 ~]# ls /lib/modules/extramodules-4.11-MANJARO
nvidia.ko.gz  nvidia-uvm.ko.gz  splat.ko.gz  spl.ko.gz  version  zavl.ko.gz  zcommon.ko.gz  zfs.ko.gz  znvpair.ko.gz  zpios.ko.gz  zunicode.ko.gz
[root@SSD1 ~]# /sbin/modprobe zfs
[root@SSD1 ~]# zpool list
no pools available
[root@SSD1 ~]# zpool import
   pool: zp0
     id: xxxxx
  state: ONLINE
...

On June 10, in [SOLVED] DKMS build problems after stable update 2017-06-10, philm wrote: "Use the precompiled modules or ..." I guess the above is what you meant by "precompiled modules". I didn't understand at the time.

Edit:

I don't need the DKMS modules now, so I removed them

sudo pacman -R --recursive --unneeded manjarozfs

and added kmod zfs for my older kernel as well

sudo pacman -S linux49-zfs

My ZFS works fine, and updates are quicker, so this seems like a happy ending of the saga for me.
Don't remember why I got the dkms version in the first place; the kmod version is a lot less hassle. :slight_smile:

new version ZFS 0.7 & SPL 0.7

chancelog
http://list.zfsonlinux.org/pipermail/zfs-announce/2017-July/000015.html

1 Like

Update will come. However, even this version is not compatible with gcc v7.1.1. There is a patch though.

Forum kindly sponsored by