Closed cjharris closed 13 years ago
Your not the first to be confused. The zconfig.sh test itself tries to load the zfs kernel module stack, so you need to make sure it's unloaded before running zconfig.sh. That's what the error message "Unload these modules with 'zfs.sh -u'" it attempting to say. Simply unload the module stack by running 'zfs.sh -u' and try again.
/usr/local/libexec/zfs/zfs.sh -u /usr/lo/usr/local/libexec/zfs/zconfig.sh -c
Since you've called my attention to this again, I'll try and do something to handle this a little more gracefully in the next tag.
I realize the output is rather compact, but when the command that you recommend is enacted, this leads to failure (2):
root@slack:/opt# /usr/local/libexec/zfs/zfs.sh -u
root@slack:/opt# /usr/local/libexec/zfs/zconfig.sh -c
1 persistent zpool.cache FATAL: Module zlib_deflate not found. Unable to open /dev/zfs: No such file or directory. Verify the ZFS module stack is loaded by running '/sbin/modprobe zfs'. Fail (2)
As you can see, without ZFS module loaded, module zlib_deflate is not found, and the output suggests that you load ZFS module... the classic catch 22 situation.
Can you verify that zlib_deflate is built as an kernel module on your slackware system, it should be installed in /lib/modules/uname -r
/kernel/lib/zlib_deflate.ko. Most distributions build it as an external module but it's possible slackware builds it as part of the kernel itself. If that's the case then we just need to make the test scripts a little smarter so they can tell the difference between the two cases and skip loading the module.
The only reference to zlib that I see in the kernel module directory, through slocate, is the following:
/lib/modules/2.6.33.4/kernel/crypto/zlib.ko
Otherwise, zlib functions, such as, zlib_inflate, zlib_deflate seem to be handled in the software libraries, accordingly:
/usr/src/linux-2.6.33.4/lib/zlib_inflate
/usr/src/linux-2.6.33.4/lib/zlib_deflate
/usr/src/linux-2.6.33.4/include/config/zlib/inflate.h
/usr/src/linux-2.6.33.4/include/config/zlib/deflate.h
Slackpkg confirms that the following zlib version is installed:
[ installed ] - zlib-1.2.3-x86_64-2
Let me know if you want me to try any commands to verify implementation.
Actually, we're mainly relying on the in-kernel zlib implementation and it sounds like slackware builds that support in by default. This morning I committed a fix which I believe should address this issue. If you get a change please pull the latest git sources and try again. It shouldn't get hung up on the in-kernel case anymore.
Using behlendorf-zfs-zfs-0.5.1-0-g2c4834f.tar.gz [ behlendorf-zfs-4ab8c5c ], assuming this includes the latest changes, I still get:
FATAL: Module zlib_deflate not found.
If this is not the latest version, please advise me on how to download it through git, as I am more familiar with material science issues than software.
As it happens I just tagged a new release today which has the proposed fix, just go ahead and try the spl/zfs-0.5.2 release.
http://github.com/downloads/behlendorf/spl/spl-0.5.2.tar.gz http://github.com/downloads/behlendorf/zfs/zfs-0.5.2.tar.gz
Bravo! the latest release version passes all the tests with flying colors on slackware. Using the generic instaIl approach for spl/zfs:
$ ./configure
$ make
# make install
All I had to do to get up and running was the following:
# cd /lib/modules/2.6.33.4/kernel
# ln -s /lib/modules/2.6.33.4/addon addon
# depmod -a
I hope this helps other observers and look forward to when a mountable system becomes available. In the meantime, I will have to fall back to zfs-fuse, which is only about 50 % slower than kernel based file transfers.
Glad to hear it works for you on slackware. Never fear the mountable version is on the way, plus when it gets here you will be able to import your existing zfs-fuse zpools.
I have slackware linux 13.1 installed on an amd64 machine. After installing spl-0.5.1 and zfs-0.5.1 from source code using the generic:
routine, I ran the suggested tests:
Although the first two tests had a favorable outcome, the last test, zconfig, produced the following output:
root@slack:/opt# depmod -a root@slack:/opt# modprobe zfs root@slack:/opt# /usr/local/libexec/zfs/zconfig.sh -c 1 persistent zpool.cache zfs.sh: Unload these modules with 'zfs.sh -u': zfs zcommon zunicode znvpair zavl splat spl Fail (1) root@slack:/opt# /usr/local/libexec/zfs/zfs.sh
zfs.sh: Unload these modules with 'zfs.sh -u': zfs zcommon zunicode znvpair zavl splat spl root@slack:/opt# /usr/local/libexec/zfs/zfs.sh -u root@slack:/opt# /usr/local/libexec/zfs/zconfig.sh -c 1 persistent zpool.cache FATAL: Module zlib_deflate not found. Unable to open /dev/zfs: No such file or directory. Verify the ZFS module stack is loaded by running '/sbin/modprobe zfs'. Fail (2)
Hopefully, there is just a misprint on the web page, or a misinterpretation on my part; otherwise, it looks like there is a software conflict.
Cheers,
Chris Harris