diff options
author | Soumya Koduri <skoduri@redhat.com> | 2014-05-07 14:05:31 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-05-11 02:47:42 -0700 |
commit | 5adb10b9ac1c634334f29732e062b12d747ae8c5 (patch) | |
tree | 135e0279c4f220b520386e8677c8dd209ef00ed7 /rpc/rpc-lib | |
parent | 2fd499d148fc8865c77de8b2c73fe0b7e1737882 (diff) |
libgfapi: Added support to fetch volume info from glusterd and store in glfs object.
Defined new APIs in the libgfapi module, given a glfs object,
* to send handshake RPC call to glusterd process to fetch UUID of the volume
* store it in the glusterfs_context linked to the glfs object.
* to parse UUID from its cannonical string format into 16-byte array
before sending it to the libgfapi users.
Defined a RPC call in glusterd which can be used to query volume related
info by other processes using 'clnt_handshake_procs'.
Note - Currently this RPC call to glusterd process is used only to fetch UUID.
But it can be extended to get other volume related structures as well.
In addition to the above, defined a new variable to keep track of such handshake
RPCs still in progress to make sure all the corresponding RPC callbacks have been
processed before libgfapi returns the glfs object initialized.
Also bumping up the GFAPI current version number since there is a new API
"glfs_get_volume_id" defined and exposed by libgfapi as part of these changes.
Change-Id: I303f76d7177d32d25bdb301b1dbcf5cd73f42807
BUG: 1090363
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Reviewed-on: http://review.gluster.org/7218
Reviewed-by: Anand Avati <avati@redhat.com>
Reviewed-by: Harshavardhana <harsha@harshavardhana.net>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'rpc/rpc-lib')
-rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index 02e0d244a4f..00ba2d1fc95 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -69,6 +69,7 @@ enum gf_handshake_procnum { GF_HNDSK_PING, GF_HNDSK_SET_LK_VER, GF_HNDSK_EVENT_NOTIFY, + GF_HNDSK_GET_VOLUME_INFO, GF_HNDSK_MAXVALUE, }; @@ -255,6 +256,13 @@ enum glusterd_mgmt_v3_procnum { typedef struct gf_gsync_detailed_status_ gf_gsync_status_t; +enum gf_get_volume_info_type { + GF_GET_VOLUME_NONE, /* 0 */ + GF_GET_VOLUME_UUID +}; + +typedef enum gf_get_volume_info_type gf_get_volume_info_type; + #define GLUSTER_HNDSK_PROGRAM 14398633 /* Completely random */ #define GLUSTER_HNDSK_VERSION 2 /* 0.0.2 */ |