Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Apr 2017 15:33:33 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 218634] vdev_geom only associates one vdev per consumer
Message-ID:  <bug-218634-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D218634

            Bug ID: 218634
           Summary: vdev_geom only associates one vdev per consumer
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: asomers@FreeBSD.org

vdev_geom.c uses the g_consumer's private field to point to a vdev_t.  That
way, a GEOM event can cause a change to a ZFS vdev.  For example, when you
remove a disk, the vdev's status will change to REMOVED.  However, vdev_geom
will sometimes attach multiple vdevs to the same GEOM consumer.  If this
happens, then geom events will only be propagated to one of the vdevs.

Steps to reproduce:
# Create two pools with a shared spare
$ sudo zpool create -f foo da0 spare da1
$ sudo zpool create -f bar da2 spare da1
# Physically remove da1
$ zpool status
  pool: bar
 state: ONLINE
  scan: none requested
config:

        NAME                    STATE     READ WRITE CKSUM
        bar                     ONLINE       0     0     0
          da2                   ONLINE       0     0     0
        spares
          13402883250515786666  REMOVED   was /dev/da1

errors: No known data errors

  pool: foo
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        foo         ONLINE       0     0     0
          da0       ONLINE       0     0     0
        spares
          da1       AVAIL

Both spares should be listed as REMOVED.  Instead, only one is.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-218634-8>