Make missing ZFS config file failures into warnings, bug #438200 v3.4.45
authorRichard Yao <ryao@gentoo.org>
Mon, 5 Nov 2012 18:32:08 +0000 (13:32 -0500)
committerRichard Yao <ryao@gentoo.org>
Mon, 5 Nov 2012 18:32:08 +0000 (13:32 -0500)
Whenever /etc/zfs/{zdev.conf,zpool.cache} was missing, we would fail.
zpool.cache is not generated during cross compilation, which causes a
failure in Catalyst when building LiveCDs. Users that do not follow a
strict set of installation instructions can also suffer failures as a
consequence of this.

zpool.cache includes information about known pools that enables ZFS to
detect situations where an entire pool disappears. It is also required
to do pool import in corner cases, such as those those involving
file-based pools, and has the beneficial effect of reducing pool import
times.  Unconditional omission of zpool.cache in general is not an
option, but for the situations identified, it is okay to convert the
failure into a warning, which is what we do.

Reported-by: Rick Farina <zero_chaos@gentoo.org>
Reported-by: Alexander Zubkov <green@msu.ru>
Signed-off-by: Richard Yao <ryao@gentoo.org>
gen_initramfs.sh

index 64e00e80fe65f8a9e268296e0f5c6132aaf3b02b..99bd3f37523a2cfd7f35392f6a2c103255ac37eb 100755 (executable)
@@ -410,7 +410,7 @@ append_zfs(){
        for i in /etc/zfs/{zdev.conf,zpool.cache}
        do
                cp -a "${i}" "${TEMP}/initramfs-zfs-temp/etc/zfs" \
-                       || gen_die "Could not copy file ${i} for ZFS"
+                       || print_warning 1 "Could not copy file ${i} for ZFS"
        done
 
        # Copy binaries