]> www.infradead.org Git - users/dhowells/kafs-utils.git/log
users/dhowells/kafs-utils.git
23 months agoImplement "fs whereis" using fsinfo() rewrite-in-c
David Howells [Fri, 24 Jul 2020 20:21:32 +0000 (21:21 +0100)]
Implement "fs whereis" using fsinfo()

Implement the "fs whereis" command using fsinfo() with the
FSINFO_ATTR_AFS_SERVER_ADDRESSES attribute.

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Implement "vos listvol"
David Howells [Fri, 10 Jul 2020 07:40:08 +0000 (08:40 +0100)]
cmd: Implement "vos listvol"

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Implement "vos listaddrs"
David Howells [Wed, 8 Jul 2020 21:36:15 +0000 (22:36 +0100)]
cmd: Implement "vos listaddrs"

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Implement "vos examine"
David Howells [Mon, 6 Jul 2020 22:13:50 +0000 (23:13 +0100)]
cmd: Implement "vos examine"

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Implement "vos status"
David Howells [Mon, 6 Jul 2020 09:37:26 +0000 (10:37 +0100)]
cmd: Implement "vos status"

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agomidlayer: Add Volume Server support
David Howells [Fri, 10 Jul 2020 11:07:42 +0000 (12:07 +0100)]
midlayer: Add Volume Server support

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Implement "vos listvldb"
David Howells [Tue, 23 Jun 2020 17:12:09 +0000 (18:12 +0100)]
cmd: Implement "vos listvldb"

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agocmd: Common display/formatting routines
David Howells [Thu, 9 Jul 2020 10:27:04 +0000 (11:27 +0100)]
cmd: Common display/formatting routines

Add some common display and output formatting routines.

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agomidlayer: VL server querying/caching services
David Howells [Fri, 11 Oct 2019 14:35:46 +0000 (15:35 +0100)]
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>
23 months agoImplement the core of the command suite
David Howells [Fri, 11 Oct 2019 14:35:46 +0000 (15:35 +0100)]
Implement the core of the command suite

Implement the core of the command suite.  This includes:

 (*) Standard AFS argument parsing.

 (*) Autogeneration of parsers for commands, based on description in banner
     comments and handler function arguments.

 (*) Bash completion.

 (*) Command suite multiplexing based on argv[0] and argv[1].

 (*) "help" and "apropos" for bos, fs, pts and vos.

Each command must be preceded by a comment that conforms to the following
template:

/***
 * COMMAND: suite command - one-line help
 * ARG: "-switchname"
 * ARG: "-switchname <param-help>"
 * ARG: "-switchname <param-help>+"
 * ARG: [...]"
 * ARG: ... - Auth"
 * ARG: ... - New"
 * NOCOMBINE: switchname, switchname
 * NOCOMBINE: switchname, switchname
 * NOCOMBINE: switchname, switchname
 *
 * multiline help
 * multiline help
 * multiline help
 * multiline help
 */

Aliases can be coded by:

/***
 * ALIAS: suite command - command_alias_for
 */

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agoImplement basic test of looking up the root.afs volume for a cell
David Howells [Mon, 30 Sep 2019 09:13:00 +0000 (10:13 +0100)]
Implement basic test of looking up the root.afs volume for a cell

Implement basic test of looking up the root.afs volume for a cell, using
kafs_client to find the cell.

Signed-off-by: David Howells <dhowells@redhat.com>
23 months agoImplement basic I/O on top of an AF_RXRPC socket
David Howells [Mon, 30 Sep 2019 09:13:00 +0000 (10:13 +0100)]
Implement basic I/O on top of an AF_RXRPC socket

Implement basic I/O on top of an AF_RXRPC socket so that the codecs
generated by rxgen.py will work.

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoImplement rxgen
David Howells [Wed, 9 Oct 2019 15:41:01 +0000 (16:41 +0100)]
Implement rxgen

Implement the rxgen program to process .xg interface files into C
definitions.

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Add YFS Volume Server operations cleanup-xg
David Howells [Fri, 10 Jul 2020 12:10:26 +0000 (13:10 +0100)]
xg: Add YFS Volume Server operations

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Add a def for the VOLSER.GetCapabilities RPC call
David Howells [Mon, 6 Jul 2020 21:00:10 +0000 (22:00 +0100)]
xg: Add a def for the VOLSER.GetCapabilities RPC call

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Fix struct afsUUID
David Howells [Mon, 29 Jun 2020 08:59:27 +0000 (09:59 +0100)]
xg: Fix struct afsUUID

Fix struct afsUUID so that the single byte elements are signed so that they
get sign-extended when encoded to 32-bit values.

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Add YFS VL server operations
David Howells [Mon, 29 Jun 2020 08:57:54 +0000 (09:57 +0100)]
xg: Add YFS VL server operations

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Remove the package name from YFS RPCs
David Howells [Thu, 25 Jun 2020 12:25:02 +0000 (13:25 +0100)]
xg: Remove the package name from YFS RPCs

Remove the package name from YFS RPCs so that they don't end up duplicated
in the generated code.

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Fix vldb.xg
David Howells [Tue, 30 Jun 2020 15:29:01 +0000 (16:29 +0100)]
xg: Fix vldb.xg

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Tidy up YFS definitions
David Howells [Mon, 7 Oct 2019 16:45:09 +0000 (17:45 +0100)]
xg: Tidy up YFS definitions

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Add AuriStor/YFS definitions
David Howells [Mon, 7 Oct 2019 16:01:57 +0000 (17:01 +0100)]
xg: Add AuriStor/YFS definitions

Add definitions for AuriStor/YFS protocol extensions.

4 years agoxg: Permit the U-variant VLDB operations
David Howells [Wed, 9 Oct 2019 15:55:53 +0000 (16:55 +0100)]
xg: Permit the U-variant VLDB operations

Permit such VLDB operations as VL.GetEntryByNameU.

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Remove 'bulk' typedef from vldb.xg
David Howells [Tue, 23 Jun 2020 16:49:40 +0000 (17:49 +0100)]
xg: Remove 'bulk' typedef from vldb.xg

Signed-off-by: David Howells <dhowells@redhat.com>
4 years agoxg: Define VL.GetCapabilities
David Howells [Tue, 23 Jun 2020 16:48:03 +0000 (17:48 +0100)]
xg: Define VL.GetCapabilities

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Tag VL.LinkedListN with its symbolic opcode
David Howells [Mon, 21 Oct 2019 11:08:37 +0000 (12:08 +0100)]
xg: Tag VL.LinkedListN with its symbolic opcode

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Add UAE error constants
David Howells [Mon, 30 Sep 2019 09:04:05 +0000 (10:04 +0100)]
xg: Add UAE error constants

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Remove _AFSUUID_COMMON_ guards
David Howells [Mon, 30 Sep 2019 09:03:14 +0000 (10:03 +0100)]
xg: Remove _AFSUUID_COMMON_ guards

Remove the _AFSUUID_COMMON_ guards from afsuuid.h.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Conditionalise out unused bits
David Howells [Mon, 30 Sep 2019 09:01:01 +0000 (10:01 +0100)]
xg: Conditionalise out unused bits

Conditionalise out unused structures so as not to emit codecs for them.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Remove "a_" prefixes and "P" suffixes from argument names
David Howells [Thu, 26 Sep 2019 13:22:36 +0000 (14:22 +0100)]
xg: Remove "a_" prefixes and "P" suffixes from argument names

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Define VOLSER.GetSize
David Howells [Wed, 7 Feb 2018 06:55:16 +0000 (06:55 +0000)]
xg: Define VOLSER.GetSize

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Strip AFSVol prefixes from RPC call names in volumeserver.xg
David Howells [Wed, 13 Aug 2014 13:58:45 +0000 (14:58 +0100)]
xg: Strip AFSVol prefixes from RPC call names in volumeserver.xg

Strip AFSVol prefixes from RPC call names in volumeserver.xg as they're
redundant given that the the xg compiler prefixes them with the package
name.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Convert prname to struct
David Howells [Thu, 26 Sep 2019 10:20:17 +0000 (11:20 +0100)]
xg: Convert prname to struct

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Convert serverList to struct
David Howells [Thu, 26 Sep 2019 10:19:36 +0000 (11:19 +0100)]
xg: Convert serverList to struct

5 years agoxg: Add pointer marker to struct args
David Howells [Thu, 26 Sep 2019 10:13:35 +0000 (11:13 +0100)]
xg: Add pointer marker to struct args

5 years agoxg: Remove 'struct' from argument type specifications
David Howells [Thu, 26 Sep 2019 10:09:14 +0000 (11:09 +0100)]
xg: Remove 'struct' from argument type specifications

Remove 'struct' from argument type specifications as it's not used
consistently and it seems it should be dispensible.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Switch AFS_MAX_DESTINATIONS from #define to const int
David Howells [Thu, 26 Sep 2019 10:06:42 +0000 (11:06 +0100)]
xg: Switch AFS_MAX_DESTINATIONS from #define to const int

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Remove ASIS keyword
David Howells [Thu, 26 Sep 2019 10:03:42 +0000 (11:03 +0100)]
xg: Remove ASIS keyword

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Remove AFSUUID_GENERATE
David Howells [Thu, 26 Sep 2019 10:01:19 +0000 (11:01 +0100)]
xg: Remove AFSUUID_GENERATE

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Remove HASHSIZE defs as these should be server internal
David Howells [Thu, 26 Sep 2019 09:59:59 +0000 (10:59 +0100)]
xg: Remove HASHSIZE defs as these should be server internal

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Add size markers
David Howells [Thu, 26 Sep 2019 09:45:36 +0000 (10:45 +0100)]
xg: Add size markers

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Declare RXKAD abort messages
David Howells [Wed, 25 Sep 2019 16:26:24 +0000 (17:26 +0100)]
xg: Declare RXKAD abort messages

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Supply standard Rx error codes
David Howells [Wed, 25 Sep 2019 16:19:55 +0000 (17:19 +0100)]
xg: Supply standard Rx error codes

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Label KA_ package in the .xg file
David Howells [Wed, 25 Sep 2019 16:24:04 +0000 (17:24 +0100)]
xg: Label KA_ package in the .xg file

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: More cleanups
David Howells [Wed, 25 Sep 2019 15:32:05 +0000 (16:32 +0100)]
xg: More cleanups

More cleanups to the xg files.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Reindent the xg files
David Howells [Wed, 25 Sep 2019 15:31:40 +0000 (16:31 +0100)]
xg: Reindent the xg files

Reindent the xg files to use tabs.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: All integer types should be in terms of stdint
David Howells [Wed, 25 Sep 2019 15:31:26 +0000 (16:31 +0100)]
xg: All integer types should be in terms of stdint

All integer types should be in terms of stdint:

int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t

Long should not be used as it may be 32-bits or 64-bits.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Convert to UTF-8 to keep Python happy
David Howells [Wed, 25 Sep 2019 16:01:41 +0000 (17:01 +0100)]
xg: Convert to UTF-8 to keep Python happy

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoxg: Clean up Arla xg files
David Howells [Wed, 25 Sep 2019 15:31:16 +0000 (16:31 +0100)]
xg: Clean up Arla xg files

Clean up Arla xg files to remove CVS-isms and Arla-specific bits.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoImport the Arla XG files
David Howells [Wed, 25 Sep 2019 15:31:08 +0000 (16:31 +0100)]
Import the Arla XG files

Import the Arla XG files.  These are RxRPC RPC API definitions for rxgen to
turn into compilables.

They are licensed under the 3-clause BSD licence from Royal Institute of
Technology, Stockholm, Sweden, which is GPL-compatible.

Signed-off-by: David Howells <dhowells@redhat.com>
5 years agoAdd a Developer's Certificate of Origin
David Howells [Wed, 25 Sep 2019 15:29:08 +0000 (16:29 +0100)]
Add a Developer's Certificate of Origin

Add a Developer's Certificate of Origin for the use of people submitting
patches.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoInitial revision
David Howells [Wed, 8 Jan 2014 21:15:54 +0000 (21:15 +0000)]
Initial revision