diff options
author | Prasanna Kumar Kalever <prasanna.kalever@redhat.com> | 2016-12-23 21:37:29 +0530 |
---|---|---|
committer | Prasanna Kumar Kalever <prasanna.kalever@redhat.com> | 2016-12-23 23:02:31 +0530 |
commit | 62c0e1a9b2af8565497fa5a34193707c5bab5d15 (patch) | |
tree | 79a08b6a89c79ddb6092d2ac949ca91bbe72639b /glfs-operations.h |
gluster-block: Initial Commit
gluster block storage CLI.
As of now, gluster-block is capable of creating tcmu based gluster
block devices, across multiple nodes.
All you need is a gluster volume (on one set of nodes) and tcmu-runner
(https://github.com/open-iscsi/tcmu-runner) running on same(as gluster)
or different set of nodes.
From an another (or same) node where gluster-block is installed you
can create iSCSI based gluster block devices.
What it can do ?
--------------
1. create a file (name uuid) in the gluster volume.
2. create the iSCSI LUN and export the target via tcmu-runner in
multiple nodes (--block-host IP1,IP2 ...)
3. list the available LUN's across multiple nodes.
4. get info about a LUN across multiple nodes.
5. delete a given LUN across all given nodes.
$ gluster-block --help
gluster-block (Version 0.1)
-c, --create <name> Create the gluster block
-v, --volume <vol> gluster volume name
-h, --host <gluster-node> node addr from gluster pool
-s, --size <size> block storage size in KiB|MiB|GiB|TiB..
-l, --list List available gluster blocks
-i, --info <name> Details about gluster block
-m, --modify <RESIZE|AUTH> Modify the metadata
-d, --delete <name> Delete the gluster block
[-b, --block-host <IP1,IP2,IP3...>] block servers, clubbed with any option
Typically gluster-block, gluster volume and tcmu-runner can coexist on
single set of nodes/node or can be split across different set of nodes.
Install:
-------
$ make -j install (hopefully that should correct you.)
Points to remember:
------------------
1. setup gluster volume
2. run tcmu-runner service
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
Diffstat (limited to 'glfs-operations.h')
-rw-r--r-- | glfs-operations.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/glfs-operations.h b/glfs-operations.h new file mode 100644 index 0000000..7659c7d --- /dev/null +++ b/glfs-operations.h @@ -0,0 +1,38 @@ +/* + Copyright (c) 2016 Red Hat, Inc. <http://www.redhat.com> + This file is part of gluster-block. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + + +# ifndef _GLFS_OPERATIONS_H +# define _GLFS_OPERATIONS_H 1 + +# include <stdio.h> +# include <stdlib.h> +# include <stdbool.h> +# include <errno.h> + +# include <glusterfs/api/glfs.h> + + + +typedef struct glusterBlockDef { + char *volume; + char *host; /* TODO: use proper Transport Object */ + char *filename; + size_t size; + bool status; +} glusterBlockDef; +typedef glusterBlockDef *glusterBlockDefPtr; + + +int glusterBlockCreateEntry(glusterBlockDefPtr blk); + +int glusterBlockDeleteEntry(glusterBlockDefPtr blk); + +#endif /* _GLFS_OPERATIONS_H */ |