It seems like it would be an easy question, but I've been looking around for several days and can't figure out a way to do this.

Part of the problem with finding an answer seems to be that most articles on google are referencing the bootable pool.

I'm trying to restore a snapshot like this:

zfs send -R backupset/storage07@repl-marker-20150210 | zfs receive -Fev storage07

Unfortunetly, it always tries to restore the dataset as a child of storage07, as in storage07/storage07.

I want to restore the snapshot into the root of the pool, not a sub dataset inside the pool.

I thought that the -e -d modifiers were supposed to switch between path vs no path, but they seem to yield the same results.

1 Answer 1


You could use zfs rename, after you rollback the dataset to the received snapshot (and you will have to do it probably, for example when restoring to an empty or already used pool/dataset).

  • The dataset I'm restoring to is a new dataset
    – Dobler
    Feb 12, 2015 at 9:23
  • 1
    How would I write this snapshot to the root of a different pool?
    – Dobler
    Feb 12, 2015 at 9:25
  • 1
    Write it to the same dataset as original one, then rename.
    – drookie
    Feb 12, 2015 at 10:31
  • so for example you are saying that i could do something like this? zfs rename tank/home/maybee tank
    – Dobler
    Feb 12, 2015 at 10:34
  • 1
    Yup. Just be sure you won't lose anything, like the originat content of the tank.
    – drookie
    Feb 12, 2015 at 12:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .