mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
Add clvmd call to return the cluster name.
This commit is contained in:
parent
de5c82a0d9
commit
efa483c599
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.11 -
|
Version 2.02.11 -
|
||||||
=====================================
|
=====================================
|
||||||
|
Add clvmd function to return the cluster name. not used by LVM yet.
|
||||||
Add cling allocation policy.
|
Add cling allocation policy.
|
||||||
Change _check_contiguous() to use _for_each_pv().
|
Change _check_contiguous() to use _for_each_pv().
|
||||||
Extend _for_each_pv() to allow termination without error.
|
Extend _for_each_pv() to allow termination without error.
|
||||||
|
@ -65,5 +65,6 @@ static const char CLVMD_SOCKNAME[] = "\0clvmd";
|
|||||||
|
|
||||||
/* Misc functions */
|
/* Misc functions */
|
||||||
#define CLVMD_CMD_REFRESH 40
|
#define CLVMD_CMD_REFRESH 40
|
||||||
|
#define CLVMD_CMD_GET_CLUSTERNAME 41
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -471,6 +471,18 @@ static int _sync_unlock(const char *resource /* UNUSED */, int lockid)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _get_cluster_name(char *buf, int buflen)
|
||||||
|
{
|
||||||
|
cman_cluster_t cluster_info;
|
||||||
|
int status;
|
||||||
|
|
||||||
|
status = cman_get_cluster(c_handle, &cluster_info);
|
||||||
|
if (!status) {
|
||||||
|
strncpy(buf, cluster_info.ci_name, buflen);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
static struct cluster_ops _cluster_cman_ops = {
|
static struct cluster_ops _cluster_cman_ops = {
|
||||||
.cluster_init_completed = _cluster_init_completed,
|
.cluster_init_completed = _cluster_init_completed,
|
||||||
.cluster_send_message = _cluster_send_message,
|
.cluster_send_message = _cluster_send_message,
|
||||||
@ -484,6 +496,7 @@ static struct cluster_ops _cluster_cman_ops = {
|
|||||||
.get_our_csid = _get_our_csid,
|
.get_our_csid = _get_our_csid,
|
||||||
.add_up_node = _add_up_node,
|
.add_up_node = _add_up_node,
|
||||||
.cluster_closedown = _cluster_closedown,
|
.cluster_closedown = _cluster_closedown,
|
||||||
|
.get_cluster_name = _get_cluster_name,
|
||||||
.sync_lock = _sync_lock,
|
.sync_lock = _sync_lock,
|
||||||
.sync_unlock = _sync_unlock,
|
.sync_unlock = _sync_unlock,
|
||||||
};
|
};
|
||||||
|
@ -75,6 +75,8 @@
|
|||||||
#include "clvmd.h"
|
#include "clvmd.h"
|
||||||
#include "libdlm.h"
|
#include "libdlm.h"
|
||||||
|
|
||||||
|
extern struct cluster_ops *clops;
|
||||||
|
|
||||||
/* This is where all the real work happens:
|
/* This is where all the real work happens:
|
||||||
NOTE: client will be NULL when this is executed on a remote node */
|
NOTE: client will be NULL when this is executed on a remote node */
|
||||||
int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
|
int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
|
||||||
@ -126,6 +128,12 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
|
|||||||
do_refresh_cache();
|
do_refresh_cache();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CLVMD_CMD_GET_CLUSTERNAME:
|
||||||
|
status = clops->get_cluster_name(*buf, buflen);
|
||||||
|
if (!status)
|
||||||
|
*retlen = strlen(*buf);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* Won't get here because command is validated in pre_command */
|
/* Won't get here because command is validated in pre_command */
|
||||||
break;
|
break;
|
||||||
@ -227,6 +235,7 @@ int do_pre_command(struct local_client *client)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case CLVMD_CMD_REFRESH:
|
case CLVMD_CMD_REFRESH:
|
||||||
|
case CLVMD_CMD_GET_CLUSTERNAME:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -43,6 +43,8 @@ struct cluster_ops {
|
|||||||
void (*reread_config) (void);
|
void (*reread_config) (void);
|
||||||
void (*cluster_closedown) (void);
|
void (*cluster_closedown) (void);
|
||||||
|
|
||||||
|
int (*get_cluster_name)(char *buf, int buflen);
|
||||||
|
|
||||||
int (*sync_lock) (const char *resource, int mode, int flags, int *lockid);
|
int (*sync_lock) (const char *resource, int mode, int flags, int *lockid);
|
||||||
int (*sync_unlock) (const char *resource, int lockid);
|
int (*sync_unlock) (const char *resource, int lockid);
|
||||||
|
|
||||||
|
@ -973,6 +973,12 @@ static int _cluster_send_message(void *buf, int msglen, char *csid, const char *
|
|||||||
return gulm_cluster_send_message(buf, msglen, csid, errtext);
|
return gulm_cluster_send_message(buf, msglen, csid, errtext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _get_cluster_name(char *buf, int buflen)
|
||||||
|
{
|
||||||
|
strncpy(buf, cluster_name, buflen);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct cluster_ops _cluster_gulm_ops = {
|
static struct cluster_ops _cluster_gulm_ops = {
|
||||||
.cluster_init_completed = NULL,
|
.cluster_init_completed = NULL,
|
||||||
.cluster_send_message = _cluster_send_message,
|
.cluster_send_message = _cluster_send_message,
|
||||||
@ -987,6 +993,7 @@ static struct cluster_ops _cluster_gulm_ops = {
|
|||||||
.add_up_node = gulm_add_up_node,
|
.add_up_node = gulm_add_up_node,
|
||||||
.reread_config = _reread_config,
|
.reread_config = _reread_config,
|
||||||
.cluster_closedown = _cluster_closedown,
|
.cluster_closedown = _cluster_closedown,
|
||||||
|
.get_cluster_name = _get_cluster_name,
|
||||||
.sync_lock = _sync_lock,
|
.sync_lock = _sync_lock,
|
||||||
.sync_unlock = _sync_unlock,
|
.sync_unlock = _sync_unlock,
|
||||||
};
|
};
|
||||||
|
@ -67,7 +67,7 @@ static struct local_client local_client_head;
|
|||||||
|
|
||||||
static unsigned short global_xid = 0; /* Last transaction ID issued */
|
static unsigned short global_xid = 0; /* Last transaction ID issued */
|
||||||
|
|
||||||
static struct cluster_ops *clops = NULL;
|
struct cluster_ops *clops = NULL;
|
||||||
|
|
||||||
static char our_csid[MAX_CSID_LEN];
|
static char our_csid[MAX_CSID_LEN];
|
||||||
static unsigned max_csid_len;
|
static unsigned max_csid_len;
|
||||||
|
Loading…
Reference in New Issue
Block a user