Print this page
3525 Persistent L2ARC

@@ -1503,12 +1503,18 @@
          */
         if (vd->vdev_aux) {
                 (void) vdev_validate_aux(vd);
                 if (vdev_readable(vd) && vdev_writeable(vd) &&
                     vd->vdev_aux == &spa->spa_l2cache &&
-                    !l2arc_vdev_present(vd))
-                        l2arc_add_vdev(spa, vd);
+                    !l2arc_vdev_present(vd)) {
+                        /*
+                         * When reopening we can assume persistent L2ARC is
+                         * supported, since we've already opened the device
+                         * in the past and prepended an L2ARC uberblock.
+                         */
+                        l2arc_add_vdev(spa, vd, B_TRUE);
+                }
         } else {
                 (void) vdev_validate(vd, B_TRUE);
         }
 
         /*