public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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!'


             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