You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When creating empty snapshots with 0 used space you can send snapshots out of order.
For example if you can send snapshots 1 and 3 to a new dataset.
Once the send is complete you can then send snapshot 2 to the new dataset and it'll be inserted without issue by zfs.
Unfortunately this only works if the snapshots are empty once actual data is written zfs with throw a error about changes on the remote dataset.
Describe how to reproduce the problem
Create a dataset lets called test on a pool called tank
snapshot tank/test multiple times without making changes
a. for x in {1..3}; do zfs snapshot tank/test@$x; done
Send an initial replication of snapshot 1 from tank/test to tank/test2
a. zfs send tank/test@1 | zfs recv tank/test2
Send a incremental of snapshots 1 and 3 from tank/test to tank/test2.
a. zfs send -i tank/test@1 tank/test@3 |zfs recv tank/test2
On tank/test2 we should see snapshots 1 and 3
a. zfs list -t snapshot tank/test2 tank/test2@1 0B - 24K - tank/test2@3 0B - 24K -
b. Both snapshots are 0 used as nothing has changed between them.
Now do another incremental send of snapshots 1 and 2 from tank/test
a. zfs send -I tank/test@1 tank/test@2 |zfs recv tank/test2
We should now see that snapshots 1,2,3 all exist for tank/test2 even though they were sent out of order. Which would normally require a rollback.
a. zfs list -t snapshot tank/test2 tank/test2@1 0B - 24K - tank/test2@3 0B - 24K - tank/test2@2 0B - 24K -
Even though the snapshots are empty we've effectively backfilled a snapshot.
Include any warning/errors/backtraces from the system logs
The text was updated successfully, but these errors were encountered:
System information
Describe the problem you're observing
When creating empty snapshots with 0 used space you can send snapshots out of order.
For example if you can send snapshots 1 and 3 to a new dataset.
Once the send is complete you can then send snapshot 2 to the new dataset and it'll be inserted without issue by zfs.
Unfortunately this only works if the snapshots are empty once actual data is written zfs with throw a error about changes on the remote dataset.
Describe how to reproduce the problem
a.
for x in {1..3}; do zfs snapshot tank/test@$x; done
a.
zfs send tank/test@1 | zfs recv tank/test2
a.
zfs send -i tank/test@1 tank/test@3 |zfs recv tank/test2
a.
zfs list -t snapshot tank/test2
tank/test2@1 0B - 24K - tank/test2@3 0B - 24K -
b. Both snapshots are 0 used as nothing has changed between them.
a.
zfs send -I tank/test@1 tank/test@2 |zfs recv tank/test2
a.
zfs list -t snapshot tank/test2
tank/test2@1 0B - 24K - tank/test2@3 0B - 24K - tank/test2@2 0B - 24K -
Include any warning/errors/backtraces from the system logs
The text was updated successfully, but these errors were encountered: