Retaining Original Property Values
In some cases, file system properties in a send stream might not apply to the receiving file system or local file system properties, such as the mountpoint property value, might interfere with a restore.
For example, suppose that the system1/data file system has the compression property disabled. A snapshot of the system1/data file system is sent with properties (-p option) to a backup pool and is received with the compression property enabled.
$ zfs get compression system1/data NAME PROPERTY VALUE SOURCE system1/data compression off default $ zfs snapshot system1/data@snap1 $ zfs send -p system1/data@snap1 | zfs recv -o compression=on -d bpool $ zfs get -o all compression bpool/data NAME PROPERTY VALUE RECEIVED SOURCE bpool/data compression on off local
In the example, the compression property is enabled when the snapshot is received into bpool. So, for bpool/data, the compression value is on.
If this snapshot stream is sent to a new pool, restorepool, for recovery purposes, you might want to keep all the original snapshot properties. In this case, you would use the zfs send -b
command to restore the original snapshot properties. For example:
$ zfs send -b bpool/data@snap1 | zfs recv -d restorepool $ zfs get -o all compression restorepool/data NAME PROPERTY VALUE RECEIVED SOURCE restorepool/data compression off off received
In the example, the compression value is off, which represents the snapshot compression value from the original system1/data file system.