zfs/tests/runfiles
George Amanakis 52a36bd41a
Enable encrypted raw sending to pools with greater ashift
Raw sending from pool1/encrypted with ashift=9 to pool2/encrypted with
ashift=12 results to failure when mounting pool2/encrypted (Input/Output
error). Notably, the opposite, raw sending from a greater ashift to a
lower one does not fail.

This happens because zio_compress_write() falsely checks only
ZIO_FLAG_RAW_COMPRESS and not ZIO_FLAG_RAW_ENCRYPT which is also set in
encrypted raw send streams. In this case it rounds up the psize and if
not equal to the zio->io_size it modifies the block by zeroing out
the extra bytes. Because this happens in a SA attr. registration object
(type=46), the decryption fails upon mounting the filesystem, and zpool
status falsely reports an error.

Fix this by checking both ZIO_FLAG_RAW_COMPRESS and ZIO_FLAG_RAW_ENCRYPT
before deciding whether to zero-pad a block.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #13067 
Closes #13074
2022-02-16 11:52:02 -08:00
..
Makefile.am Add sanity.run file 2020-12-03 10:49:39 -08:00
common.run Enable encrypted raw sending to pools with greater ashift 2022-02-16 11:52:02 -08:00
freebsd.run ZTS: Add tests for DOS mode attributes 2021-03-16 15:00:14 -07:00
linux.run Linux 5.16 compat: don't use XSTATE_XSAVE to save FPU state 2022-02-09 12:50:10 -08:00
longevity.run OpenZFS 9166 - zfs storage pool checkpoint 2018-06-26 10:07:42 -07:00
perf-regression.run OpenZFS 9184 - Add ZFS performance test for fixed blocksize random read/write IO 2018-07-02 13:46:06 -07:00
sanity.run Cross-platform xattr user namespace compatibility 2022-02-15 16:35:30 -08:00
sunos.run ZTS: Add a failsafe callback to run after each test 2020-03-10 11:00:56 -07:00