[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#651720: new ZFS installs completely broken in Wheezy/Sid



Hi Arno!

Sorry, I somehow didn't have 651720@bugs.debian.org copied on my
previous mail so I'm inlining your mail for the benefit of the BTS:

On 20/11/12 23:19, Arno Töll wrote:
> I am not sure if checking for / being ZFS is good enough then. Wouldn't
> we need to check for any file system being on ZFS to create a
> zpool.cache file?

At boot time, GRUB must provide kFreeBSD with a zpool.cache so that it
can mount the root filesystem.  After that I don't think it matters
about other partitions being on ZFS, because they can be scanned for, it
just may be a little slower first time around.

If root is UFS and only /boot is ZFS, I'm not sure that the zpool.cache
is still needed, but it can't hurt to preserve the existing behaviour
for now and generate one anyway.


> Aside, your triaging sounds like a good explanation and like an easy
> fix. Thing is, my d-i fu is non-existing. Would anyone care to help?
> I've prepared a _completely untested_ patch which may fix the issue but
> I have no idea how to test it.

Your patch looks perfect to me, but likewise I haven't figured out how
to build+test it yet.

> Note, if you are right, this bug is filed against the wrong package, we
> may clone and reassign it to grub-installer then.

I'm including Arno's patch, attached.

Thanks,
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org
From b08feadb9604ba41a9a63f73edc15b81d42b6ef0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Arno=20T=C3=B6ll?= <arno@debian.org>
Date: Wed, 21 Nov 2012 00:15:35 +0100
Subject: [PATCH] Also create /boot/zfs/zpool.cache if the root fs is on ZFS

---
 grub-installer |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/grub-installer b/grub-installer
index d709de0..f01eda1 100755
--- a/grub-installer
+++ b/grub-installer
@@ -221,8 +221,10 @@ rootfs=$(findfs /)
 bootfs=$(findfs /boot)
 [ -n "$bootfs" ] || bootfs="$rootfs"
 
+
 bootfstype=$(findfstype /boot)
-[ -n "$bootfstype" ] || bootfstype="$(findfstype /)"
+rootfstype="$(findfstype /)"
+[ -n "$bootfstype" ] || bootfstype=$rootfstype
 
 case $ARCH in
     powerpc/chrp|powerpc/chrp_rs6k|powerpc/chrp_ibm|powerpc/cell)
@@ -851,7 +853,7 @@ fi
 db_progress STEP 1
 db_progress INFO grub-installer/progress/step_config_loader
 
-if [ "$bootfstype" = "zfs" ]; then
+if [ "$bootfstype" = "zfs" ] || [ "$rootfstype" = "zfs" ] ; then
 	# Required by update-grub on ZFS
 	mkdir -p $ROOT/boot/zfs
 	cp /boot/zfs/zpool.cache $ROOT/boot/zfs/
-- 
1.7.10.4

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: