Skip to content

raw send results in each dataset becoming it's own encryption root #950

@h-2

Description

@h-2

I have a fairly large hierarchy of datasets that are all below one encryption root. I have transferred that hierarchy to my backup system (with some datasets excluded). I wanted to check whether the data was received correctly, so I did zfs load-key on the target system's encryption root. But this only decrypted the root. So I added zfs load-key -r, but now it literally asks me for every single dataset 🤯

Apparently, the datasets have all become their own encryption root. Is this expected behaviour? Can I somehow fix it without re-transferring everything?

I thought about using a script to load the key for every dataset and then use zfs change-key -i to re-attach all datasets below the root to the root. But I am afraid this might make the datasets appear "modified" and break future raw sends. Would this be the case? Do you know of any other workarounds?

Thank you!

edit:

These are my send settings:

  send:
    encrypted: true
    raw: true
    large_blocks: true

I am not sure why I needed to add encrypted, since raw should already imply that it send datasets in whatever state they are in, or not?

And these are my receive settings:

  recv:
    placeholder:
      encryption: inherit

I am not sure why these settings are necessary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions