HomeFreeBSD

Allow block cloning across encrypted datasets

Description

Allow block cloning across encrypted datasets

When two datasets share the same master encryption key, it is safe
to clone encrypted blocks. Currently only snapshots and clones
of a dataset share with it the same encryption key.

Added a test for:

  • Clone from encrypted sibling to encrypted sibling with non encrypted parent
  • Clone from encrypted parent to inherited encrypted child
  • Clone from child to sibling with encrypted parent
  • Clone from snapshot to the original datasets
  • Clone from foreign snapshot to a foreign dataset
  • Cloning from non-encrypted to encrypted datasets
  • Cloning from encrypted to non-encrypted datasets

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Original-patch-by: Pawel Jakub Dawidek <pawel@dawidek.net>
Signed-off-by: Kay Pedersen <mail@mkwg.de>
Closes #15544

Details

Provenance
oromenahar <christianpe96@gmail.com>Authored on Dec 5 2023, 7:03 PM
GitHub <noreply@github.com>Committed on Dec 5 2023, 7:03 PM
Parents
rG55b764e062b1: ZIL: Do not clone blocks from the future
Branches
Unknown
Tags
Unknown