[OpenAFS-devel] RPC numbers being used for OpenAFS+OSD

Hartmut Reuter reuter@rzg.mpg.de
Thu, 12 Mar 2009 18:08:29 +0100


To whom it may concern:

As you may have heard there exist some extensions to normal OpenAFS
which allow the use the object storage model for storing data in AFS.
This version is already in production in the cell "ipp-garching.mpg.de"
since about two years. It offers also some other goodies which are
independent from object storage, e.g. "vos split" and inverse directory
lookup (get path relative to volume root belonging to a fid).

Derrick Brashear had already promised several times to integrate this
code into the normal OpenAFS code base. To help make that happen I am
now trying to register the extensions to the RPC interface.

There two completely new services:

The osdserver which is a ubik database which describes the object
storage, the policies and the group ownership and location of
fileservers. This service uses port 7012.

The second one are the objects storage devices (OSDs) which are
represented by the server rxosd. It uses port 7011 which formerly was
used by the MR-AFS remioserver. Our site was the last one to use MR-AFS
and we managed a smooth migration from MR-AFS to OpenAFS+OSD without
moving any data. Therefore during the migration phase the rxosd had also
to handle remioserver requests which is the reason that both use the
same port number.

Then there are additions to the existing RPC interfaces for the
fileserver and the volserver .


1) fileserver

Number  Name		Function	

65558	InverseLookup	Inverse directory lookup

65559	CheckOSDConns	Keep-alive for rx-connections between fileserver and
rxosd

65560	OsdPolicy	Check before storing data whether they better scould go
into object storage

65562	GetOsdMetadata	Display OSD metadata of a file

65564   ServerPath	used by CM to access files in visible
/vicep-partitions of a fileserser

65566	Statistic	RPC and network transfer statistic

65567	Variable	get and set values for internal variables e.g. LogLevel

65568	SetOsdFileReady	Notify fileserver that restore of a wiped file is
complete

65569	GetOSDlocaltion gives CM the coordinates of objects belonging to a
file for read and write operations	


2) volserver

65540	OsdSupport	Ask remote volserver whether it has OSD support

65541	Traverse	Get file size histogram and OSD usage statistic

65542   Wipecand        Get candidates for wiping based on last usage date

65545   Salvage		Check sizes and link counts for all files and objects
in a volume

65546	ListObjects	List all objects in a certain OSD

65547   Split		Split a volume

65549	ArchCand	Get fids of candidates for archiving
	
65550   Variable	Get or set value of a variable

65551	Statistic	RPC and network transfer statistic



The gaps between the RPC numbers sometimes are obsolete old versions of
other RPCs which don't need to go into the merged code, but are locally
still needed for older clients in our cell.

Hartmut Reuter