Store the L2ARC device ashift in the vdev label
If this is not done, and the pool has an ashift other than the default
(at the moment 9) then the following happens:
- vdev_alloc() assigns the ashift of the pool to L2ARC device, but upon export it is not stored anywhere
- at the first import, vdev_open() sees an vdev_ashift() of 0 and assigns the logical_ashift, which is 9
- reading the contents of L2ARC, including the header fails
- L2ARC buffers are not restored in ARC.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #14313
Closes #14963