From b5e5f7e3a8b799a66fda20c7d3ae06e38b44e595 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 22 Jan 2015 10:10:35 +0100 Subject: [PATCH] zfs: move common code to ZFSDirPlugin --- PVE/Storage/ZFSDirPlugin.pm | 37 ++++++++++++++++++++++++++++++++++++- PVE/Storage/ZFSPlugin.pm | 36 ------------------------------------ 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/PVE/Storage/ZFSDirPlugin.pm b/PVE/Storage/ZFSDirPlugin.pm index 233a10c..929fb20 100644 --- a/PVE/Storage/ZFSDirPlugin.pm +++ b/PVE/Storage/ZFSDirPlugin.pm @@ -262,6 +262,41 @@ sub zfs_find_free_diskname { die "unable to allocate an image name for VM $vmid in storage '$storeid'\n"; } -# fixme: implement me +sub status { + my ($class, $storeid, $scfg, $cache) = @_; + + my $total = 0; + my $free = 0; + my $used = 0; + my $active = 0; + + eval { + ($free, $used) = $class->zfs_get_pool_stats($scfg); + $active = 1; + $total = $free + $used; + }; + warn $@ if $@; + + return ($total, $free, $used, $active); +} + +sub volume_size_info { + my ($class, $scfg, $storeid, $volname, $timeout) = @_; + + return $class->zfs_get_zvol_size($scfg, $volname); +} + +sub volume_snapshot { + my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + + $class->zfs_request($scfg, undef, 'snapshot', "$scfg->{pool}/$volname\@$snap"); +} + +sub volume_snapshot_delete { + my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + + $class->zfs_request($scfg, undef, 'destroy', "$scfg->{pool}/$volname\@$snap"); +} + 1; diff --git a/PVE/Storage/ZFSPlugin.pm b/PVE/Storage/ZFSPlugin.pm index 274deaa..48b8b65 100644 --- a/PVE/Storage/ZFSPlugin.pm +++ b/PVE/Storage/ZFSPlugin.pm @@ -357,24 +357,6 @@ sub list_images { return $res; } -sub status { - my ($class, $storeid, $scfg, $cache) = @_; - - my $total = 0; - my $free = 0; - my $used = 0; - my $active = 0; - - eval { - ($free, $used) = $class->zfs_get_pool_stats($scfg); - $active = 1; - $total = $free + $used; - }; - warn $@ if $@; - - return ($total, $free, $used, $active); -} - sub activate_storage { my ($class, $storeid, $scfg, $cache) = @_; return 1; @@ -395,12 +377,6 @@ sub deactivate_volume { return 1; } -sub volume_size_info { - my ($class, $scfg, $storeid, $volname, $timeout) = @_; - - return $class->zfs_get_zvol_size($scfg, $volname); -} - sub volume_resize { my ($class, $scfg, $storeid, $volname, $size, $running) = @_; @@ -410,12 +386,6 @@ sub volume_resize { $class->zfs_resize_lu($scfg, $volname, $new_size); } -sub volume_snapshot { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; - - $class->zfs_request($scfg, undef, 'snapshot', "$scfg->{pool}/$volname\@$snap"); -} - sub volume_snapshot_rollback { my ($class, $scfg, $storeid, $volname, $snap) = @_; @@ -443,12 +413,6 @@ sub volume_snapshot_rollback { $class->zfs_add_lun_mapping_entry($scfg, $volname); } -sub volume_snapshot_delete { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; - - $class->zfs_request($scfg, undef, 'destroy', "$scfg->{pool}/$volname\@$snap"); -} - sub volume_has_feature { my ($class, $scfg, $feature, $storeid, $volname, $snapname, $running) = @_;