sub zfs_request {
my ($class, $scfg, $timeout, $method, @params) = @_;
- $timeout = PVE::RPCEnvironment::is_worker() ? 60*60 : 10
+ $timeout = PVE::RPCEnvironment->is_worker() ? 60*60 : 10
if !$timeout;
my $msg = '';
sub clone_image {
my ($class, $scfg, $storeid, $volname, $vmid, $snap) = @_;
- my $name = $class->SUPER::clone_image($scfg, $storeid, $volname, $vmid, $snap);
+ my $name = $class->SUPER::clone_image($scfg, $storeid, $volname, $vmid, $snap);
- my $guid = $class->zfs_create_lu($scfg, $name);
- $class->zfs_add_lun_mapping_entry($scfg, $name, $guid);
+ # get ZFS dataset name from PVE volname
+ my (undef, $clonedname) = $class->parse_volname($name);
+
+ my $guid = $class->zfs_create_lu($scfg, $clonedname);
+ $class->zfs_add_lun_mapping_entry($scfg, $clonedname, $guid);
return $name;
}
$class->zfs_add_lun_mapping_entry($scfg, $volname);
}
+sub volume_send {
+ my ($class, $scfg, $storeid, $volname, $ip, $snap,
+ $incremental_snap, $verbose, $limit, $target_path) = @_;
+
+ die "Volume_send is not implemented for ZFS over iSCSI.\n";
+}
+
sub volume_has_feature {
my ($class, $scfg, $feature, $storeid, $volname, $snapname, $running) = @_;
return undef;
}
+sub volume_snapshot_list {
+ my ($class, $scfg, $storeid, $volname, $prefix, $ip) = @_;
+ # return an empty array if dataset does not exist.
+ die "Volume_snapshot_list is not implemented for ZFS over iSCSI.\n";
+}
+
sub activate_storage {
my ($class, $storeid, $scfg, $cache) = @_;