1.4.6a - mitigate ZFS on Linux bug #4473 by complaining not dying if set readonly fails.

This commit is contained in:
Jim Salter 2016-05-25 17:00:19 -04:00
parent ba3e956b08
commit 17759ce659
4 changed files with 8 additions and 4 deletions

View File

@ -1,3 +1,7 @@
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 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 before doing an initial replication, instead of letting the replication itself create
the target. the target.

View File

@ -11,7 +11,7 @@ use warnings;
my $zfs = '/sbin/zfs'; my $zfs = '/sbin/zfs';
my %args = getargs(@ARGV); my %args = getargs(@ARGV);
my $progversion = '1.4.6'; my $progversion = '1.4.6a';
if ($args{'version'}) { print "$progversion\n"; exit 0; } if ($args{'version'}) { print "$progversion\n"; exit 0; }

2
sanoid
View File

@ -4,7 +4,7 @@
# from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this # from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this
# project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE. # project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE.
my $version = '1.4.6'; my $version = '1.4.6a';
use strict; use strict;
use Config::IniFiles; # read samba-style conf file use Config::IniFiles; # read samba-style conf file

View File

@ -4,7 +4,7 @@
# from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this # from http://www.gnu.org/licenses/gpl-3.0.html on 2014-11-17. A copy should also be available in this
# project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE. # project's Git repository at https://github.com/jimsalterjrs/sanoid/blob/master/LICENSE.
my $version = '1.4.6'; my $version = '1.4.6a';
use strict; use strict;
use Data::Dumper; use Data::Dumper;
@ -496,7 +496,7 @@ sub setzfsvalue {
if ($isroot) { $mysudocmd = ''; } else { $mysudocmd = $sudocmd; } if ($isroot) { $mysudocmd = ''; } else { $mysudocmd = $sudocmd; }
if ($debug) { print "$rhost $mysudocmd $zfscmd set $property=$value $fs\n"; } if ($debug) { print "$rhost $mysudocmd $zfscmd set $property=$value $fs\n"; }
system("$rhost $mysudocmd $zfscmd set $property=$value $fs") == 0 system("$rhost $mysudocmd $zfscmd set $property=$value $fs") == 0
or die "CRITICAL ERROR: $rhost $mysudocmd $zfscmd set $property=$value $fs died: $?"; or print "WARNING: $rhost $mysudocmd $zfscmd set $property=$value $fs died: $?, proceeding anyway.\n";
return; return;
} }