@@ -1226,8 +1226,8 @@ def get_volumes_with_info(self):
12261226
12271227 volumes = {}
12281228
1229- all_volume_info = self ._get_volumes_info ()
12301229 volume_names = self .get_volumes_with_name ()
1230+ all_volume_info = self ._get_volumes_info (volume_names )
12311231 for volume_uuid , volume_name in volume_names .items ():
12321232 if volume_name :
12331233 volume_info = all_volume_info .get (volume_name )
@@ -2149,12 +2149,16 @@ def _fetch_resource_names(self, ignore_deleted=True):
21492149 resource_names .add (dfn .name )
21502150 return resource_names
21512151
2152- def _get_volumes_info (self , volume_name = None ):
2152+ def _get_volumes_info (self , volume_names = None ):
21532153 all_volume_info = {}
21542154
21552155 if not self ._volume_info_cache_dirty :
21562156 return self ._volume_info_cache
21572157
2158+ if not volume_names :
2159+ volume_names = self .get_volumes_with_name ()
2160+ volume_names = set (volume_names .values ())
2161+
21582162 def process_resource (resource ):
21592163 if resource .name not in all_volume_info :
21602164 current = all_volume_info [resource .name ] = self .VolumeInfo (
@@ -2187,7 +2191,8 @@ def process_resource(resource):
21872191
21882192 try :
21892193 for resource in self ._get_resource_cache ().resources :
2190- process_resource (resource )
2194+ if resource .name in volume_names :
2195+ process_resource (resource )
21912196 for volume in all_volume_info .values ():
21922197 if volume .allocated_size <= 0 :
21932198 raise LinstorVolumeManagerError ('Failed to get allocated size of `{}`' .format (resource .name ))
0 commit comments