[Pkg-zfsonlinux-devel] Bug#880902: Bug#880902: RC bug on zfs-linux that has to be fixed

Craig Sanders cas at taz.net.au
Thu Nov 16 13:00:59 UTC 2017


On Thu, Nov 16, 2017 at 12:10:38PM +0100, Raphael Hertzog wrote:
> This bug should be quickly fixed because ZFS is broken in Debian Testing
> right now, spl-linux migrated already and zfs-linux did not migrate due to
> this bug.

This bug definitely needs to be fixed but it shouldn't be a big panic-inducing
deal for anyone following sane practice with the zfs packages anyway.

By "sane practice", I mean that the zfs packages should **always** be held
until you manually unhold them immediately prior to upgrading them, and then
immediately hold them again.

Ditto for linux-image-$arch and linux-header-$arch packages on any system that
needs dkms modules.

Why?

Because zfs-dkms and spl-dkms almost always need to be updated for new kernel
versions.  Just letting them upgrade automatically via apt-get upgrade or
dist-upgrade is a recipe for a broken system.  So far, while new kernels
almost always break older zfs packages, newer zfs packages tend to compile OK
on older kernels....but that's not at all guaranteed to be the case.  It's a
pretty safe bet, but not one I'd be willing to take when it could mean being
unable to access my data or even boot my zfs-root systems.

Actually, that's true for most, if not all, -dkms packages.  So the safe thing to
do is to hold kernel and dkms packages.


BTW, I use the following script to list (default), verbose list (-v), hold
(-h), and unhold (-u) zfs related packages:


    #!/bin/bash
    #
    # script: list-zfs.sh
    # author: Craig Sanders <cas at taz.net.au>
    # license: Public Domain (this script is too trivial to be anything else)

    # options:
    # default/none    list the installed ZoL packages, one per line
    # -v              verbose (dpkg -l) list the packages
    # -h              hold the packages with apt-mark
    # -u              unhold the packages with apt-mark

    # build an array of currently-installed zfs packages.
    # this would be better with grep-status from dctrl-tools, but dpkg is
    # guaranteed to be on every debian system while dctrl-tools isn't.
    PKGS=( $(dpkg -l '*libnvpair*linux' '*libuutil*linux*' '*zfs*' '*zpool*' 'spl' 'spl-dkms' 2>/dev/null | awk '/^.i/ {print $2}') )

    if [ "$1" == "-v" ] ; then
      dpkg -l "${PKGS[@]}"
    elif [ "$1" == "-h" ] ; then
      apt-mark hold "${PKGS[@]}"
    elif [ "$1" == "-u" ] ; then
      apt-mark unhold "${PKGS[@]}"
    else
      printf "%s\n" "${PKGS[@]}"
    fi

I've got a similar script for nvidia related packages.  It's exactly the same except
for the PKGS array.


For kernels, I keep them on hold until I want to (manually) upgrade them:

    apt-get -u install linux-headers-amd64 linux-image-amd64 ; \
      apt-mark hold linux-headers-amd64 linux-image-amd64



packages make systems administration easier. they're not a substitute for it.

craig

ps: this bug is an example of why testing is actually worse than sid for
real-world (non-testing) usage.  This bug report, while necessary, actually
delayed the migration of the updated zfs packages that would have resolved
it.  That's an unavoidable side-effect of bug reports against packages in sid.
IIRC, packages only get migrated from sid to testing if there hasn't been a
bug reported against them for 14 (? not sure exactly) days.


--
craig sanders <cas at taz.net.au>

BOFH excuse #112:

The monitor is plugged into the serial port



More information about the Pkg-zfsonlinux-devel mailing list