Dry-run pool layout reports omit any cache devices specified, although the cache specification is honoured when the create or add is actually run. For example: # zpool create -n tank ada1 cache ada0p5 log ada0p6 would create 'tank' with the following layout: tank ada1 logs ada0p6 # zpool create tank ada1 cache ada0p5 log ada0p6 # zpool status tank pool: tank ... NAME ... tank ada1 logs ada0p6 cache ada0p5 I would expect the dry-run to reflect the actual results. It was counterintuitive and kind of scary that it didn't.
^Triage: I'm sorry that this PR did not get addressed in a timely fashion. By now, the version that it was created against is long out of support. Please re-open if it is still a problem on a supported version.