Just to make sure.
- You have an unencrypted dataset on your main pool
- You want to keep it unencrypted
- You want to have regular incremental backups from this main pool’s (unencrypted) dataset sent over to another pool’s (encrypted) dataset
- You want to be able to rollback the main dataset to an earlier snapshot… and then “restore” (incrementally) from the backup dataset?
Why? In what situation would you intentionally rollback a dataset… only to have it rolled “forward” again from a backup source? Why rollback in the first place?
The main dataset will always dictate the snapshots and their orders, because you’ll never be using the backup dataset directly as a filesystem actively being written to. The moment you do that, it’s no longer a destination dataset for backups. (See the fourth flowchart in this post.)