When unfencing occurs (action=on), write list of devices that were
successfully registered to /var/run/cluster/fence_scsi.dev file. This
file will be used by the optional watchdog script. Note that the devices
are not added to the tmp file until the verification step.
+ ## write dev to device file once registration is verified
+ dev_write ($dev);
+
## check that a reservation exists
if (!get_reservation_key ($dev)) {
log_debug ("no reservation exists on device $dev");
@@ -337,12 +341,38 @@ sub do_reset (S)
return;
}
+sub dev_unlink ()
+{
+ my $self = (caller(0))[3];
+ my $file = "/var/run/cluster/fence_scsi.dev";
+
+ if (-e $file) {
+ unlink ($file) or die "$!
";
+ }
+
+ return;
+}
+
+sub dev_write ($)
+{
+ my $self = (caller(0))[3];
+ my $file = "/var/run/cluster/fence_scsi.dev";
+ my $dev = shift;
+
+ open (*FILE, ">>$file") or die "$!
";
+ print FILE "$dev
";
+ close (FILE);
+
+ return;
+}
+
sub key_read ()
{
my $self = (caller(0))[3];
+ my $file = "/var/run/cluster/fence_scsi.key";
my $key;
- open (*FILE, "</var/run/cluster/fence_scsi.key") or die "$!
";
+ open (*FILE, "<$file") or die "$!
";
chomp ($key = <FILE>);
close (FILE);
@@ -352,9 +382,11 @@ sub key_read ()
sub key_write ($)
{
my $self = (caller(0))[3];
+ my $file = "/var/run/cluster/fence_scsi.key";
+ my $key = shift;
- open (*FILE, ">/var/run/cluster/fence_scsi.key") or die "$!
";
- print FILE "$_[0]
";
+ open (*FILE, ">$file") or die "$!
";
+ print FILE "$key
";
close (FILE);