Print this page
6386 Fix function call with uninitialized value in vdev_inuse
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>

@@ -594,11 +594,12 @@
         /*
          * We can't rely on a pool's state if it's been imported
          * read-only.  Instead we look to see if the pools is marked
          * read-only in the namespace and set the state to active.
          */
-        if ((spa = spa_by_guid(pool_guid, device_guid)) != NULL &&
+        if (state != POOL_STATE_SPARE && state != POOL_STATE_L2CACHE &&
+            (spa = spa_by_guid(pool_guid, device_guid)) != NULL &&
             spa_mode(spa) == FREAD)
                 state = POOL_STATE_ACTIVE;
 
         /*
          * If the device is marked ACTIVE, then this device is in use by another