From: "Richard Yao" <ryao@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/genkernel:ryao commit in: defaults/
Date: Sun, 9 Jun 2013 11:43:33 +0000 (UTC) [thread overview]
Message-ID: <1370778171.7bf3e57adcab2900860090efbdb83ac2b9787d8b.ryao@gentoo> (raw)
commit: 7bf3e57adcab2900860090efbdb83ac2b9787d8b
Author: Richard Yao <ryao <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 9 11:36:43 2013 +0000
Commit: Richard Yao <ryao <AT> gentoo <DOT> org>
CommitDate: Sun Jun 9 11:42:51 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=7bf3e57a
Workaround busybox modprobe's inability to load ZFS modules
Commit 3a054014e880e5b1ff28e3d87767c45a073da6b5 replaced our modprobe
with busybox's modprobe. Unfortunately, busybox's modprobe appears to be
unable to properly load modules with more than 1 level of dependencies.
The zfs and zpool commands will call invoke modprobe if /dev/zvol is
missing, which concealed this problem. However, this caused problems
because some invocations would fail and under certain circumstances,
init would be killed, causing a kernel panic. We prevent this by
explicitly calling modprobe on each of the dependencies before
attempting to import the pool.
Signed-off-by: Richard Yao <ryao <AT> gentoo.org>
---
defaults/initrd.scripts | 6 ++++++
defaults/linuxrc | 5 +----
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f598402..4d1cc90 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -721,6 +721,12 @@ startVolumes() {
if [ "${USE_ZFS}" = '1' ]
then
+ # Load modules
+ for i in zlib_deflate spl zavl znvpair zcommon zunicode zfs
+ do
+ modprobe ${i}
+ done
+
# Avoid race involving asynchronous module loading
if call_func_timeout waitForZFS 5
then
diff --git a/defaults/linuxrc b/defaults/linuxrc
index 9ea305b..f54f7d5 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -298,12 +298,9 @@ esac
# Verify that it is safe to use ZFS
if [ "USE_ZFS" = "1" ]
then
- if [ -x /sbin/zfs -a -x /sbin/zpool ]
+ if [ ! -x /sbin/zfs -o ! -x /sbin/zpool ]
then
- MY_HWOPTS="${MY_HWOPTS} zfs"
- else
USE_ZFS=0
-
[ -x /sbin/zfs ] || bad_msg '/sbin/zfs not found!'
[ -x /sbin/zpool ] || bad_msg '/sbin/zpool not found!'
bad_msg 'Aborting use of zfs!'
next reply other threads:[~2013-06-09 11:43 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-09 11:43 Richard Yao [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-10-02 12:43 [gentoo-commits] proj/genkernel:ryao commit in: defaults/ Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 Richard Yao
2013-06-09 13:57 [gentoo-commits] proj/genkernel:master " Richard Yao
2013-06-09 13:57 ` [gentoo-commits] proj/genkernel:ryao " Richard Yao
2013-06-09 13:57 [gentoo-commits] proj/genkernel:master " Richard Yao
2013-06-09 13:57 ` [gentoo-commits] proj/genkernel:ryao " Richard Yao
2013-06-09 13:48 [gentoo-commits] proj/genkernel:master " Richard Yao
2013-06-09 13:57 ` [gentoo-commits] proj/genkernel:ryao " Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:40 Richard Yao
2013-06-09 13:37 Richard Yao
2013-06-09 13:37 Richard Yao
2013-06-09 13:37 Richard Yao
2013-06-09 13:36 Richard Yao
2013-06-09 13:36 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:33 Richard Yao
2013-06-09 13:21 Richard Yao
2013-06-09 13:17 Richard Yao
2013-06-09 13:17 Richard Yao
2013-06-09 13:17 Richard Yao
2013-06-09 13:17 Richard Yao
2013-06-09 13:15 Richard Yao
2013-06-09 13:15 Richard Yao
2013-06-09 12:29 Richard Yao
2013-06-09 12:11 Richard Yao
2013-06-09 11:56 Richard Yao
2013-06-09 11:51 Richard Yao
2013-06-09 11:47 Richard Yao
2013-06-09 10:28 Richard Yao
2013-06-09 10:05 Richard Yao
2013-06-09 10:02 Richard Yao
2013-06-09 9:58 Richard Yao
2013-06-09 9:58 Richard Yao
2013-06-09 9:58 Richard Yao
2013-06-09 9:53 Richard Yao
2013-06-09 9:49 Richard Yao
2013-06-09 9:49 Richard Yao
2013-06-09 9:46 Richard Yao
2013-06-09 9:44 Richard Yao
2013-06-09 9:44 Richard Yao
2013-06-09 8:32 Richard Yao
2013-06-09 7:45 Richard Yao
2013-06-09 6:43 Richard Yao
2013-06-06 3:36 Richard Yao
2013-06-03 23:49 Richard Yao
2013-06-03 23:35 Richard Yao
2013-06-03 23:35 Richard Yao
2013-06-03 23:35 Richard Yao
2013-06-03 23:35 Richard Yao
2013-06-03 23:35 Richard Yao
2013-06-03 23:35 Richard Yao
2013-01-01 16:53 Richard Yao
2012-11-22 22:20 [gentoo-commits] proj/genkernel:master " Richard Yao
2013-01-01 16:53 ` [gentoo-commits] proj/genkernel:ryao " Richard Yao
2012-11-22 22:20 Richard Yao
2012-11-11 17:04 [gentoo-commits] proj/genkernel:master " Richard Yao
2012-11-11 17:32 ` [gentoo-commits] proj/genkernel:ryao " Richard Yao
2012-11-05 18:30 Richard Yao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1370778171.7bf3e57adcab2900860090efbdb83ac2b9787d8b.ryao@gentoo \
--to=ryao@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox