]> 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 09:05:31 +0000 (10:05 +0100)
commit9d7b9a8d2f341eb812d9a60265beaa2ab8456ce8
treeaffdf7b90417c53aac055b24e8f332e3f1fb25b5
parent0fa8b7a0417fad814ffc261c091ad63055e1e641
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]