]> git.proxmox.com Git - pve-storage.git/commitdiff
api2/storage/content: change to volume_size_info and add return properties
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 24 Nov 2020 09:09:31 +0000 (10:09 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 24 Nov 2020 09:23:25 +0000 (10:23 +0100)
'file_size_info' only works for directory based storages, while
'volume_size_info' should work for all

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
PVE/API2/Storage/Content.pm

index d4e23926b9dc8f1d4333173132551e3770c6d446..7b811715f9007873798cb8e5c1590d3f12b8c334 100644 (file)
@@ -263,7 +263,30 @@ __PACKAGE__->register_method ({
            },
        },
     },
-    returns => { type => 'object' },
+    returns => {
+       type => 'object',
+       properties => {
+           path => {
+               description => "The Path",
+               type => 'string',
+           },
+           size => {
+               description => "Volume size in bytes.",
+               type => 'integer',
+               renderer => 'bytes',
+           },
+           used => {
+               description => "Used space. Please note that most storage plugins " .
+               "do not report anything useful here.",
+               type => 'integer',
+               renderer => 'bytes',
+           },
+           format => {
+               description => "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
+               type => 'string',
+           },
+       },
+    },
     code => sub {
        my ($param) = @_;
 
@@ -277,8 +300,8 @@ __PACKAGE__->register_method ({
        PVE::Storage::check_volume_access($rpcenv, $authuser, $cfg, undef, $volid);
 
        my $path = PVE::Storage::path($cfg, $volid);
-       my ($size, $format, $used, $parent) =  PVE::Storage::file_size_info($path);
-       die "file_size_info on '$volid' failed\n" if !($format && $size);
+       my ($size, $format, $used, $parent) =  PVE::Storage::volume_size_info($cfg, $volid);
+       die "volume_size_info on '$volid' failed\n" if !($format && $size);
 
        # fixme: return more attributes?
        return {