[Bug 225546] "zpool add" crashes in the presence of a replacing vdev with a spare child

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jan 29 23:09:15 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225546

            Bug ID: 225546
           Summary: "zpool add" crashes in the presence of a replacing
                    vdev with a spare child
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: asomers at FreeBSD.org

If a pool contains a replacing vdev with a spare child, then any "zpool add"
command will fail.  It doesn't matter whether you're adding a regular vdev,
log, cache, or spare vdev.  The bug is in get_replication in zpool_vdev.c in
the zpool command.

zpool status bar
        pool: bar
        state: DEGRADED
        status: One or more devices is currently being resilvered. The pool
will
        continue to function, possibly in a degraded state.
        action: Wait for the resilver to complete.
        scan: resilver in progress since Wed Dec 6 22:32:52 2017
        17.7G scanned out of 4.24T at 534M/s, 2h18m to go
        11.8G resilvered, 0.41% done
        config:

    NAME STATE READ WRITE CKSUM
    bar DEGRADED 0 0 0
    raidz1-0 DEGRADED 0 0 0
    replacing-0 DEGRADED 0 0 0
    spare-0 REMOVED 0 0 0
    4444235316927249078 REMOVED 0 0 0 was /dev/da0
    da5 ONLINE 0 0 0 (resilvering)
    da4 ONLINE 0 0 0 (resilvering)
    da1 ONLINE 0 0 0
    da2 ONLINE 0 0 0
    da3 ONLINE 0 0 0
    spares
    17011840191929354180 INUSE currently in use was /dev/da5

    errors: No known data errors

zpool add bar log da6
        Assertion failed: (nvlist_lookup_string(cnv, "path", &path) == 0), file
/usr/home/alans/freebsd/head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c,
line 694.
        Abort(coredump)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list