Permalink
Find file
c121305 Dec 29, 2016
98 lines (59 sloc) 5.33 KB
1.4.7a (syncoid only) added standard invocation output when called without source or target
as per @rriley and @fajarnugraha suggestions
1.4.7 reverted Perl shebangs to #!/usr/bin/perl - sorry FreeBSD folks, shebanged to /usr/bin/env perl bare calls to syncoid
or sanoid (without explicit calls to Perl) don't work on EITHER of our systems. I'm not OK with that, this is going to be
an OS localization issue that can either be addressed with BSD-specific packaging, or you can individually address it
by editing the shebangs on your own systems OR by doing a one-time ln -s /usr/local/bin/perl to /usr/bin/perl, which will
fix the issue for this particular script AND all other Perl scripts developed on non-BSD systems.
also temporarily dyked out the set readonly functionality in syncoid - it was causing more problems than it prevented, and
using the -F argument with receive prevents incautious writes (including just cd'ing into mounted datasets, if atimes are on)
from interrupting syncoid runs anyway.
1.4.6c merged @gusson's pull request to add -sshport argument
1.4.6b updated default cipherlist for syncoid to
chacha20-poly1305@openssh.com,arcfour - arcfour isn't supported on
newer SSH (in Ubuntu Xenial and FreeBSD), chacha20 isn't supported on
some older SSH versions (Ubuntu Precise< I think?)
1.4.6a due to bug in ZFS on Linux which frequently causes errors to return from `zfs set readonly`,
changed ==0 or die in setzfsvalue() to ==0 or [complain] - it's not worth causing replication
to fail while this ZFS on Linux bug exists.
1.4.6 added a mollyguard to syncoid to help newbies who try to zfs create a new target dataset
before doing an initial replication, instead of letting the replication itself create
the target.
added "==0 or die" to all system() calls in sanoid and syncoid that didn't already have them.
1.4.5 altered shebang to '#!/usr/bin/env perl' for enhanced FreeBSD compatibility
1.4.4 merged pull requests from jjlawren for OmniOS compatibility, added --configdir=/path/to/configs CLI option to sanoid at jjlawrens' request presumably for same
1.4.3 added SSH persistence to syncoid - using socket speeds up SSH overhead 300%! =)
one extra commit to get rid of the "Exit request sent." SSH noise at the end.
1.4.2 removed -r flag for zfs destroy of pruned snapshots in sanoid, which unintentionally caused same-name
child snapshots to be deleted - thank you Lenz Weber!
1.4.1 updated check_zpool() in sanoid to parse zpool list properly both pre- and post- ZoL v0.6.4
1.4.0 added findoid tool - find and list all versions of a given file in all available ZFS snapshots.
use: findoid /path/to/file
1.3.1 whoops - prevent process_children_only from getting set from blank value in defaults
1.3.0 changed monitor_children_only to process_children_only. which keeps sanoid from messing around with
empty parent datasets at all. also more thoroughly documented features in default config files.
1.2.0 added monitor_children_only parameter to sanoid.conf for use with recursive definitions - in cases where container dataset is kept empty
1.1.0 woooo - working recursive definitions in Sanoid! Also intelligent config errors in Sanoid; will die with errors if unknown config value is set.
1.0.20 greatly cleaned up config parsing in sanoid, got rid of 'hardcoded defaults' in favor of /etc/sanoid/sanoid.defaults.conf
1.0.19 working recursive sync (sync specified dataset and all child datasets, ie pool/ds, pool/ds/1, pool, ds/1/a, pool/ds/2 ...) with --recursive or -r in syncoid!
1.0.18 updated syncoid to break sync out of main routine and into syncdataset(). this will allow doing recursive sync, in next update :)
1.0.17 updated syncoid to use sudo when necessary if it isn't already root - working user needs NOPASSWD for /sbin/zfs in /etc/sudoers
updated syncoid to throw errors on unknown arguments
1.0.16 updated sanoid to use VASTLY improved CLI argument parsing, throw errors on unknown arguments, etc
1.0.15 updated syncoid to accept compression engine flags - --compress=lzo|gzip|none
1.0.14 updated syncoid to reduce output when fetching snapshot list - thank you github user @0xFate.
1.0.13 removed monitor_version again - sorry for the feature instability, forgot I removed it in the first place because I didn't like pulling
in so many dependencies for such a trivial feature
1.0.12 patched default sanoid.conf provided to set yearly_mon and yearly_mday correctly
1.0.11 patched bug in yearly snapshots - thank you @stevenolen for the bug report!
1.0.10 added --monitor-version to check installed version against current version in trunk on GitHub
1.0.9 added CR/LF after --monitor-health message output to make CLI usage cleaner looking
1.0.8 added --version checking in sanoid and syncoid
1.0.7 got rid of unnecessary sudo commands in sanoid's --monitor-health
1.0.6 added 'or die' to make sure /var/cache/sanoidsnapshots.txt is writeable
1.0.5 fixed another ps BSD-ism bug in sanoid
1.0.4 updated ps usage in sanoid to comply with BSDisms
1.0.3 nerfed references to $debug (not implemented yet) in sanoid
1.0.2 implemented iszfsbusy check to the thinning routine in sanoid
1.0.1 ported slightly modified iszfsbusy sub from syncoid to sanoid (to keep from thinning snapshots during replications)
1.0.0 initial commit to Github