]> www.infradead.org Git - users/dhowells/kafs-utils.git/commit
midlayer: VL server querying/caching services
authorDavid Howells <dhowells@redhat.com>
Fri, 11 Oct 2019 14:35:46 +0000 (15:35 +0100)
committerDavid Howells <dhowells@redhat.com>
Fri, 5 May 2023 10:53:26 +0000 (11:53 +0100)
commit9d022c63e8a244833bb9507525650d8a7af6ccc8
tree74cd7b79855cac4fe02ce9f76f7453d674f7781d
parent5c9a759573d3e12c4d2e9b4edc1f112b8a228ede
midlayer: VL server querying/caching services

Add a couple of layers for VLDB querying and management.

The lower layer wraps collections of similar VL querying RPC calls, that
work out which variant to call and extract the retrieved data out into a
common data type.  Such functions include:

kafs_VL_GetAddrs_by_uuid()
kafs_VL_GetAddrs_by_addr()
kafs_VL_GetAddrs_by_index()
kafs_VL_GetEntryByName()
kafs_VL_ListAttributes()

On top of that is a middle layer that may call sequences of the above and
add caching of the results:

kafs_open_vl_service()
kafs_probe_vl_service()
kafs_look_up_volume_by_name()
kafs_look_up_volumes_by_attributes()
kafs_look_up_fileserver_by_uuid()
kafs_look_up_fileserver_by_addr()
kafs_look_up_fileserver_by_index()
kafs_map_volume_locations()

Signed-off-by: David Howells <dhowells@redhat.com>
kafs/Makefile
kafs/kafs.H
kafs/vl_fileservers.C [new file with mode: 0644]
kafs/vl_probe.C [new file with mode: 0644]
kafs/vl_volumes.C [new file with mode: 0644]
kafs/vlservice.H [new file with mode: 0644]