[pve-devel] [PATCH storage 1/2] zfs: only use cache when listing images locally

Fiona Ebner f.ebner at proxmox.com
Mon Nov 28 13:19:20 CET 2022


Am 16.11.22 um 14:30 schrieb Fiona Ebner:
> Am 16.11.22 um 12:18 schrieb Fabian Grünbichler:
>> On November 7, 2022 12:00 pm, Fiona Ebner wrote:
>>> The plugin for remote ZFS storages currently also uses the same
>>> list_images() as the plugin for local ZFS storages. The issue with
>>> this is that there is only one cache which does not remember the
>>> target host where the information originated.
>>>
>>> Simply restrict the cache to be used for the local ZFS plugin only. An
>>> alternative solution would be to use a cache for each target host, but
>>> that seems a bit more involved and could still be added in the future.
>>
>> wouldn't it be sufficient to just do
>>
>> $cache->{zfs}->{$storeid}
>>
>> when filling/querying the cache, and combining that with *always* listing only
>> the storage-relevant pool?
> 
> Yes, should work. I'll send a v2 with that.
> 

Well, a $storeid-based cache would be useless for both existing callers
using a cache parameter (pvesr's prepare_local_job and Storage.pm's
vdisk_list), because they iterate over the storages once for a given cache.

Should I get rid of the cache here entirely or do we go with this series
after all?

Also, I guess pvesr should switch to using Storage.pm's interface,
rather than talk to the plugin directly.





More information about the pve-devel mailing list