allanjude / zxfer

A continuation of development on zxfer, a popular script for managing ZFS snapshot replication
BSD 2-Clause "Simplified" License
124 stars 40 forks source link

use destination when pulling remote snapshot list #33

Closed dpcinc closed 7 years ago

dpcinc commented 7 years ago

We run multiple pools and multiple datasets with 1000s of snapshots. Without the destination specified, the script takes forever to run trying to return the entire list of snapshots when it only needs to know about the snapshots for a specific destination. This decreases our run time by a factor of 10x at least.

cernst1980 commented 7 years ago

Sorry, but these commits break the code.

https://github.com/allanjude/zxfer/blob/1197a6bafebc297c34068dad2b600383d314f381/zxfer#L689

The snapshots of the target are now missing, the consequences are errors:

cannot receive new filesystem stream: destination has snapshots (eg. ...) must destroy them to overwrite it warning: cannot send '...': signal received Error when zfs send/receiving.

So the if statement has to be removed then to always fetch the list of target snapshots. https://github.com/allanjude/zxfer/blob/1197a6bafebc297c34068dad2b600383d314f381/zxfer#L688