From 7cf64be7029a985bd8dbde04688bb947861a15ef Mon Sep 17 00:00:00 2001 From: matveevandrey Date: Thu, 20 Dec 2018 22:53:57 +0300 Subject: [PATCH] pre/post snapshot script calls should be also dumped in --readonly mode --- sanoid | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sanoid b/sanoid index ce8207c..03aefc5 100755 --- a/sanoid +++ b/sanoid @@ -513,11 +513,15 @@ sub take_snapshots { my $dataset = (split '@', $snap)[0]; my $snapname = (split '@', $snap)[1]; my $presnapshotfailure = 0; - if ($config{$dataset}{'pre_snapshot_script'} and !$args{'readonly'}) { + my $ret = 0; + if ($config{$dataset}{'pre_snapshot_script'}) { $ENV{'SANOID_TARGET'} = $dataset; $ENV{'SANOID_SNAPNAME'} = $snapname; if ($args{'verbose'}) { print "executing pre_snapshot_script '".$config{$dataset}{'pre_snapshot_script'}."' on dataset '$dataset'\n"; } - my $ret = runscript('pre_snapshot_script',$dataset); + + if (!$args{'readonly'}) { + $ret = runscript('pre_snapshot_script',$dataset); + } delete $ENV{'SANOID_TARGET'}; delete $ENV{'SANOID_SNAPNAME'}; @@ -533,12 +537,15 @@ sub take_snapshots { system($zfs, "snapshot", "$snap") == 0 or warn "CRITICAL ERROR: $zfs snapshot $snap failed, $?"; } - if ($config{$dataset}{'post_snapshot_script'} and !$args{'readonly'}) { + if ($config{$dataset}{'post_snapshot_script'}) { if (!$presnapshotfailure or $config{$dataset}{'force_post_snapshot_script'}) { $ENV{'SANOID_TARGET'} = $dataset; $ENV{'SANOID_SNAPNAME'} = $snapname; if ($args{'verbose'}) { print "executing post_snapshot_script '".$config{$dataset}{'post_snapshot_script'}."' on dataset '$dataset'\n"; } - runscript('post_snapshot_script',$dataset); + + if (!$args{'readonly'}) { + runscript('post_snapshot_script',$dataset); + } delete $ENV{'SANOID_TARGET'}; delete $ENV{'SANOID_SNAPNAME'};