3.2.7-2, BZ 837684, f17 only (fix for compiling with gcc-4.7.x)
This commit is contained in:
parent
c5c3674d92
commit
1d07d5e41f
474
glusterfs-3.2.7.xlators.mgmt.glusterd.glusterd-rpc-ops.c.patch
Normal file
474
glusterfs-3.2.7.xlators.mgmt.glusterd.glusterd-rpc-ops.c.patch
Normal file
@ -0,0 +1,474 @@
|
|||||||
|
--- xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
|
||||||
|
+++ xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
|
||||||
|
@@ -51,9 +51,26 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
int32_t op_errno, rpcsvc_request_t *req,
|
||||||
|
void *op_ctx, char *op_errstr)
|
||||||
|
{
|
||||||
|
- int32_t ret = -1;
|
||||||
|
- gd_serialize_t sfunc = NULL;
|
||||||
|
- void *cli_rsp = NULL;
|
||||||
|
+ union {
|
||||||
|
+ gf1_cli_create_vol_rsp createv_rsp;
|
||||||
|
+ gf1_cli_start_vol_rsp startv_rsp;
|
||||||
|
+ gf1_cli_stop_vol_rsp stopv_rsp;
|
||||||
|
+ gf1_cli_delete_vol_rsp delv_rsp;
|
||||||
|
+ gf1_cli_defrag_vol_rsp defragv_rsp;
|
||||||
|
+ gf1_cli_set_vol_rsp setv_rsp;
|
||||||
|
+ gf1_cli_reset_vol_rsp resetv_rsp;
|
||||||
|
+ gf1_cli_sync_volume_rsp syncv_rsp;
|
||||||
|
+ gf1_cli_stats_volume_rsp statsv_rsp;
|
||||||
|
+ gf1_cli_add_brick_rsp addb_rsp;
|
||||||
|
+ gf1_cli_remove_brick_rsp rmb_rsp;
|
||||||
|
+ gf1_cli_replace_brick_rsp replb_rsp;
|
||||||
|
+ gf1_cli_log_filename_rsp logfn_rsp;
|
||||||
|
+ gf1_cli_log_rotate_rsp logrot_rsp;
|
||||||
|
+ gf1_cli_gsync_set_rsp gsyncs_rsp;
|
||||||
|
+ gf1_cli_quota_rsp quota_rsp;
|
||||||
|
+ } cli_rsp;
|
||||||
|
+ int32_t ret = -1;
|
||||||
|
+ gd_serialize_t sfunc = NULL;
|
||||||
|
dict_t *ctx = NULL;
|
||||||
|
char *free_ptr = NULL;
|
||||||
|
glusterd_conf_t *conf = NULL;
|
||||||
|
@@ -67,145 +84,103 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
switch (op) {
|
||||||
|
case GD_OP_CREATE_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_create_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.createv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.createv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.createv_rsp.volname = "";
|
||||||
|
+ cli_rsp.createv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_create_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_START_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_start_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.startv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.startv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.startv_rsp.volname = "";
|
||||||
|
+ cli_rsp.startv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_start_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_STOP_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_stop_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.stopv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.stopv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.stopv_rsp.volname = "";
|
||||||
|
+ cli_rsp.stopv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_stop_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_DELETE_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_delete_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.delv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.delv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.delv_rsp.volname = "";
|
||||||
|
+ cli_rsp.delv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_delete_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_DEFRAG_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_defrag_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- //rsp.volname = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.defragv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.defragv_rsp.op_errno = op_errno;
|
||||||
|
+ //cli_rsp.defragv_rsp.volname = "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_defrag_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_ADD_BRICK:
|
||||||
|
{
|
||||||
|
- gf1_cli_add_brick_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.addb_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.addb_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.addb_rsp.volname = "";
|
||||||
|
+ cli_rsp.addb_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_add_brick_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_REMOVE_BRICK:
|
||||||
|
{
|
||||||
|
- gf1_cli_remove_brick_rsp rsp = {0,};
|
||||||
|
ctx = op_ctx;
|
||||||
|
if (ctx &&
|
||||||
|
- dict_get_str (ctx, "errstr", &rsp.op_errstr))
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ dict_get_str (ctx, "errstr", &cli_rsp.rmb_rsp.op_errstr))
|
||||||
|
+ cli_rsp.rmb_rsp.op_errstr = "";
|
||||||
|
+ cli_rsp.rmb_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.rmb_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.rmb_rsp.volname = "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_remove_brick_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_REPLACE_BRICK:
|
||||||
|
{
|
||||||
|
- gf1_cli_replace_brick_rsp rsp = {0,};
|
||||||
|
ctx = op_ctx;
|
||||||
|
if (ctx &&
|
||||||
|
- dict_get_str (ctx, "status-reply", &rsp.status))
|
||||||
|
- rsp.status = "";
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- rsp.volname = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ dict_get_str (ctx, "status-reply", &cli_rsp.replb_rsp.status))
|
||||||
|
+ cli_rsp.replb_rsp.status = "";
|
||||||
|
+ cli_rsp.replb_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.replb_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.replb_rsp.volname = "";
|
||||||
|
+ cli_rsp.replb_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_replace_brick_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_SET_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_set_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
ctx = op_ctx;
|
||||||
|
-
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
if (ctx) {
|
||||||
|
ret = dict_allocate_and_serialize (ctx,
|
||||||
|
- &rsp.dict.dict_val,
|
||||||
|
- (size_t*)&rsp.dict.dict_len);
|
||||||
|
+ &cli_rsp.setv_rsp.dict.dict_val,
|
||||||
|
+ (size_t*)&cli_rsp.setv_rsp.dict.dict_len);
|
||||||
|
if (ret == 0)
|
||||||
|
- free_ptr = rsp.dict.dict_val;
|
||||||
|
+ free_ptr = cli_rsp.setv_rsp.dict.dict_val;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.setv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.setv_rsp.volname = "";
|
||||||
|
+ cli_rsp.setv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_set_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -213,55 +188,35 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
case GD_OP_RESET_VOLUME:
|
||||||
|
{
|
||||||
|
gf_log ("", GF_LOG_DEBUG, "Return value to CLI");
|
||||||
|
- gf1_cli_reset_vol_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = 1;
|
||||||
|
- rsp.volname = "";
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "Error while resetting options";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.resetv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.resetv_rsp.op_errno = 1;
|
||||||
|
+ cli_rsp.resetv_rsp.volname = "";
|
||||||
|
+ cli_rsp.resetv_rsp.op_errstr = op_errstr ? op_errstr : "Error while resetting options";
|
||||||
|
sfunc = gf_xdr_serialize_cli_reset_vol_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case GD_OP_LOG_FILENAME:
|
||||||
|
{
|
||||||
|
- gf1_cli_log_filename_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.logfn_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.logfn_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.logfn_rsp.errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_log_filename_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GD_OP_LOG_ROTATE:
|
||||||
|
{
|
||||||
|
- gf1_cli_log_rotate_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.logrot_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.logrot_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.logrot_rsp.errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_serialize_cli_log_rotate_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GD_OP_SYNC_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_sync_volume_rsp rsp = {0,};
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ cli_rsp.syncv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.syncv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.syncv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
sfunc = gf_xdr_from_cli_sync_volume_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -273,72 +228,56 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
char *slave = NULL;
|
||||||
|
char *op_name = NULL;
|
||||||
|
char *subop = NULL;
|
||||||
|
- gf1_cli_gsync_set_rsp rsp = {0,};
|
||||||
|
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_name = "";
|
||||||
|
+ cli_rsp.gsyncs_rsp.subop = "";
|
||||||
|
+ cli_rsp.gsyncs_rsp.master = "";
|
||||||
|
+ cli_rsp.gsyncs_rsp.slave = "";
|
||||||
|
+ cli_rsp.gsyncs_rsp.glusterd_workdir = conf->workdir;
|
||||||
|
+ cli_rsp.gsyncs_rsp.gsync_prefix = GSYNCD_PREFIX;
|
||||||
|
ctx = op_ctx;
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
- rsp.op_name = "";
|
||||||
|
- rsp.subop = "";
|
||||||
|
- rsp.master = "";
|
||||||
|
- rsp.slave = "";
|
||||||
|
- rsp.glusterd_workdir = conf->workdir;
|
||||||
|
- rsp.gsync_prefix = GSYNCD_PREFIX;
|
||||||
|
if (ctx) {
|
||||||
|
ret = dict_get_str (ctx, "errstr", &str);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.op_errstr = str;
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_errstr = str;
|
||||||
|
ret = dict_get_int32 (ctx, "type", &type);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.type = type;
|
||||||
|
+ cli_rsp.gsyncs_rsp.type = type;
|
||||||
|
ret = dict_get_str (ctx, "master", &master);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.master = master;
|
||||||
|
+ cli_rsp.gsyncs_rsp.master = master;
|
||||||
|
|
||||||
|
ret = dict_get_str (ctx, "slave", &slave);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.slave = slave;
|
||||||
|
+ cli_rsp.gsyncs_rsp.slave = slave;
|
||||||
|
|
||||||
|
if (type == GF_GSYNC_OPTION_TYPE_CONFIG) {
|
||||||
|
if (dict_get_str (ctx, "op_name", &op_name) == 0)
|
||||||
|
- rsp.op_name = op_name;
|
||||||
|
+ cli_rsp.gsyncs_rsp.op_name = op_name;
|
||||||
|
if (dict_get_str (ctx, "subop", &subop) == 0)
|
||||||
|
- rsp.subop = subop;
|
||||||
|
+ cli_rsp.gsyncs_rsp.subop = subop;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = dict_allocate_and_serialize (ctx,
|
||||||
|
- &rsp.status_dict.status_dict_val,
|
||||||
|
- (size_t*)&rsp.status_dict.status_dict_len);
|
||||||
|
+ &cli_rsp.gsyncs_rsp.status_dict.status_dict_val,
|
||||||
|
+ (size_t*)&cli_rsp.gsyncs_rsp.status_dict.status_dict_len);
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
|
- free_ptr = rsp.status_dict.status_dict_val;
|
||||||
|
+ free_ptr = cli_rsp.gsyncs_rsp.status_dict.status_dict_val;
|
||||||
|
|
||||||
|
}
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
sfunc = gf_xdr_serialize_cli_gsync_set_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- case GD_OP_RENAME_VOLUME:
|
||||||
|
- case GD_OP_START_BRICK:
|
||||||
|
- case GD_OP_STOP_BRICK:
|
||||||
|
- case GD_OP_LOG_LOCATE:
|
||||||
|
- {
|
||||||
|
- gf_log ("", GF_LOG_DEBUG, "not supported op %d", op);
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
case GD_OP_PROFILE_VOLUME:
|
||||||
|
{
|
||||||
|
- gf1_cli_stats_volume_rsp rsp = {0,};
|
||||||
|
int32_t count = 0;
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
- else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
+ cli_rsp.statsv_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.statsv_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.statsv_rsp.op_errstr = op_errstr ? op_errstr : "";
|
||||||
|
ctx = op_ctx;
|
||||||
|
if (dict_get_int32 (ctx, "count", &count)) {
|
||||||
|
ret = dict_set_int32 (ctx, "count", 0);
|
||||||
|
@@ -347,10 +286,9 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
"to set brick count.");
|
||||||
|
}
|
||||||
|
dict_allocate_and_serialize (ctx,
|
||||||
|
- &rsp.stats_info.stats_info_val,
|
||||||
|
- (size_t*)&rsp.stats_info.stats_info_len);
|
||||||
|
- free_ptr = rsp.stats_info.stats_info_val;
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
+ &cli_rsp.statsv_rsp.stats_info.stats_info_val,
|
||||||
|
+ (size_t*)&cli_rsp.statsv_rsp.stats_info.stats_info_len);
|
||||||
|
+ free_ptr = cli_rsp.statsv_rsp.stats_info.stats_info_val;
|
||||||
|
sfunc = gf_xdr_from_cli_stats_volume_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -360,49 +298,56 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
int32_t type;
|
||||||
|
char *str = NULL;
|
||||||
|
char *errstr = NULL;
|
||||||
|
- gf1_cli_quota_rsp rsp = {0,};
|
||||||
|
|
||||||
|
- rsp.op_ret = op_ret;
|
||||||
|
- rsp.op_errno = op_errno;
|
||||||
|
- rsp.volname = "";
|
||||||
|
+ cli_rsp.quota_rsp.op_ret = op_ret;
|
||||||
|
+ cli_rsp.quota_rsp.op_errno = op_errno;
|
||||||
|
+ cli_rsp.quota_rsp.volname = "";
|
||||||
|
|
||||||
|
ctx = op_ctx;
|
||||||
|
|
||||||
|
if (op_errstr)
|
||||||
|
- rsp.op_errstr = op_errstr;
|
||||||
|
+ cli_rsp.quota_rsp.op_errstr = op_errstr;
|
||||||
|
else {
|
||||||
|
ret = dict_get_str (ctx, "errstr", &errstr);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.op_errstr = errstr;
|
||||||
|
+ cli_rsp.quota_rsp.op_errstr = errstr;
|
||||||
|
else
|
||||||
|
- rsp.op_errstr = "";
|
||||||
|
+ cli_rsp.quota_rsp.op_errstr = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
- rsp.limit_list = "";
|
||||||
|
+ cli_rsp.quota_rsp.limit_list = "";
|
||||||
|
|
||||||
|
if (op_ret == 0 && ctx) {
|
||||||
|
ret = dict_get_str (ctx, "volname", &str);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.volname = str;
|
||||||
|
+ cli_rsp.quota_rsp.volname = str;
|
||||||
|
|
||||||
|
ret = dict_get_int32 (ctx, "type", &type);
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.type = type;
|
||||||
|
+ cli_rsp.quota_rsp.type = type;
|
||||||
|
else
|
||||||
|
- rsp.type = 0;
|
||||||
|
+ cli_rsp.quota_rsp.type = 0;
|
||||||
|
|
||||||
|
if (type == GF_QUOTA_OPTION_TYPE_LIST) {
|
||||||
|
ret = dict_get_str (ctx,"limit_list", &str);
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
|
- rsp.limit_list = str;
|
||||||
|
+ cli_rsp.quota_rsp.limit_list = str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- cli_rsp = &rsp;
|
||||||
|
sfunc = gf_xdr_serialize_cli_quota_rsp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ case GD_OP_RENAME_VOLUME:
|
||||||
|
+ case GD_OP_START_BRICK:
|
||||||
|
+ case GD_OP_STOP_BRICK:
|
||||||
|
+ case GD_OP_LOG_LOCATE:
|
||||||
|
+ {
|
||||||
|
+ gf_log ("", GF_LOG_DEBUG, "not supported op %d", op);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
case GD_OP_NONE:
|
||||||
|
case GD_OP_MAX:
|
||||||
|
{
|
||||||
|
@@ -411,7 +356,7 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- ret = glusterd_submit_reply (req, cli_rsp, NULL, 0, NULL,
|
||||||
|
+ ret = glusterd_submit_reply (req, &cli_rsp, NULL, 0, NULL,
|
||||||
|
sfunc);
|
||||||
|
|
||||||
|
if (free_ptr)
|
577
glusterfs.spec
577
glusterfs.spec
@ -21,29 +21,25 @@
|
|||||||
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication
|
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication
|
||||||
%{?_without_georeplication:%global _without_georeplication --disable-geo-replication}
|
%{?_without_georeplication:%global _without_georeplication --disable-geo-replication}
|
||||||
|
|
||||||
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
||||||
%global SWIFTVER 1.4.8
|
|
||||||
%global _with_swift true
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Summary: Cluster File System
|
Summary: Cluster File System
|
||||||
Name: glusterfs
|
Name: glusterfs
|
||||||
Version: 3.3.0
|
Version: 3.2.7
|
||||||
Release: 5%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv3+ and (GPLv2 or LGPLv3+)
|
License: GPLv3
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Vendor: Red Hat
|
Vendor: Red Hat
|
||||||
URL: http://www.gluster.org//docs/index.php/GlusterFS
|
URL: http://www.gluster.org//docs/index.php/GlusterFS
|
||||||
Source0: http://download.gluster.org/pub/gluster/glusterfs/3.3/%{version}/glusterfs-%{version}.tar.gz
|
Source0: http://download.gluster.org/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz
|
||||||
Source1: glusterd.sysconfig
|
Source1: glusterd.sysconfig
|
||||||
Source2: glusterfsd.sysconfig
|
Source2: glusterfsd.sysconfig
|
||||||
Source3: umount.glusterfs
|
Source3: umount.glusterfs
|
||||||
Source4: glusterfs-fuse.logrotate
|
Source4: glusterfs-fuse.logrotate
|
||||||
Source5: glusterd.logrotate
|
Source5: glusterd.logrotate
|
||||||
Source6: glusterfsd.logrotate
|
Source6: glusterfsd.logrotate
|
||||||
Patch0: %{name}-3.3.0.libglusterfs.Makefile.patch
|
Patch0: %{name}-3.2.5.libglusterfs.Makefile.patch
|
||||||
Patch1: %{name}-3.2.5.configure.ac.patch
|
Patch1: %{name}-3.2.5.configure.ac.patch
|
||||||
Patch2: %{name}-3.3.0.cli.cli-rpc-ops.c.patch
|
Patch2: %{name}-3.2.7.xlators.mgmt.glusterd.glusterd-rpc-ops.c.patch
|
||||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
|
||||||
%if ( 0%{?fedora} && 0%{?fedora} < 17 ) || ( 0%{?rhel} && 0%{?rhel} < 7 )
|
%if ( 0%{?fedora} && 0%{?fedora} < 17 ) || ( 0%{?rhel} && 0%{?rhel} < 7 )
|
||||||
@ -79,18 +75,15 @@ Requires(postun): systemd-units
|
|||||||
BuildRequires: bison flex
|
BuildRequires: bison flex
|
||||||
BuildRequires: gcc make automake libtool
|
BuildRequires: gcc make automake libtool
|
||||||
BuildRequires: ncurses-devel readline-devel
|
BuildRequires: ncurses-devel readline-devel
|
||||||
BuildRequires: libxml2-devel openssl-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: python-ctypes
|
BuildRequires: python-ctypes
|
||||||
|
|
||||||
Obsoletes: hekafs <= 0.7
|
|
||||||
Obsoletes: %{name}-libs <= 2.0.0
|
Obsoletes: %{name}-libs <= 2.0.0
|
||||||
Obsoletes: %{name}-common < %{version}-%{release}
|
Obsoletes: %{name}-common < 3.1.0
|
||||||
Obsoletes: %{name}-core < %{version}-%{release}
|
|
||||||
Provides: %{name}-libs = %{version}-%{release}
|
Provides: %{name}-libs = %{version}-%{release}
|
||||||
Provides: %{name}-common = %{version}-%{release}
|
Provides: %{name}-common = %{version}-%{release}
|
||||||
Provides: %{name}-core = %{version}-%{release}
|
Provides: %{name}-core = %{version}-%{release}
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GlusterFS is a clustered file-system capable of scaling to several
|
GlusterFS is a clustered file-system capable of scaling to several
|
||||||
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
||||||
@ -128,9 +121,7 @@ This package provides support to ib-verbs library.
|
|||||||
%package geo-replication
|
%package geo-replication
|
||||||
Summary: GlusterFS Geo-replication
|
Summary: GlusterFS Geo-replication
|
||||||
Group: Applications/File
|
Group: Applications/File
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release} , python-ctypes , rsync >= 3.0.0
|
||||||
Requires: %{name}-server = %{version}-%{release}
|
|
||||||
Requires: python-ctypes , rsync >= 3.0.0
|
|
||||||
|
|
||||||
%description geo-replication
|
%description geo-replication
|
||||||
GlusterFS is a clustered file-system capable of scaling to several
|
GlusterFS is a clustered file-system capable of scaling to several
|
||||||
@ -151,7 +142,7 @@ BuildRequires: fuse-devel
|
|||||||
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
Obsoletes: %{name}-client < %{version}-%{release}
|
Obsoletes: %{name}-client < 3.1.0
|
||||||
Provides: %{name}-client = %{version}-%{release}
|
Provides: %{name}-client = %{version}-%{release}
|
||||||
|
|
||||||
%description fuse
|
%description fuse
|
||||||
@ -167,7 +158,6 @@ This package provides support to FUSE based clients.
|
|||||||
|
|
||||||
%package server
|
%package server
|
||||||
Summary: Clustered file-system server
|
Summary: Clustered file-system server
|
||||||
License: GPLv3+
|
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: %{name}-fuse = %{version}-%{release}
|
Requires: %{name}-fuse = %{version}-%{release}
|
||||||
@ -183,9 +173,24 @@ is in user space and easily manageable.
|
|||||||
|
|
||||||
This package provides the glusterfs server daemon.
|
This package provides the glusterfs server daemon.
|
||||||
|
|
||||||
|
%package vim
|
||||||
|
Summary: Vim syntax file
|
||||||
|
Group: Applications/Text
|
||||||
|
Requires: vim-common
|
||||||
|
|
||||||
|
%description vim
|
||||||
|
GlusterFS is a clustered file-system capable of scaling to several
|
||||||
|
petabytes. It aggregates various storage bricks over Infiniband RDMA
|
||||||
|
or TCP/IP interconnect into one large parallel network file
|
||||||
|
system. GlusterFS is one of the most sophisticated file systems in
|
||||||
|
terms of features and extensibility. It borrows a powerful concept
|
||||||
|
called Translators from GNU Hurd kernel. Much of the code in GlusterFS
|
||||||
|
is in user space and easily manageable.
|
||||||
|
|
||||||
|
Vim syntax file for GlusterFS.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development Libraries
|
Summary: Development Libraries
|
||||||
License: GPLv2 or LGPLv3+
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
@ -200,175 +205,11 @@ is in user space and easily manageable.
|
|||||||
|
|
||||||
This package provides the development libraries.
|
This package provides the development libraries.
|
||||||
|
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
%package swift
|
|
||||||
|
|
||||||
Summary: GlusterFS OpenStack Object Storage
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
Source10: http://launchpad.net/swift/essex/%{SWIFTVER}/+download/swift-%{SWIFTVER}.tar.gz
|
|
||||||
Source11: gluster-swift-functions
|
|
||||||
Source12: gluster-swift-account.init
|
|
||||||
Source13: gluster-swift-container.init
|
|
||||||
Source14: gluster-swift-object.init
|
|
||||||
Source15: gluster-swift-proxy.init
|
|
||||||
Patch3: openstack-swift-newdeps.patch
|
|
||||||
Patch4: openstack-swift-docmod.patch
|
|
||||||
Patch5: openstack-swift-nonet.patch
|
|
||||||
Patch6: glusterfs-3.3.0.swift.patch
|
|
||||||
#BuildRoot: %(mktemp -ud %{_tmppath}/swift-%{SWIFTVER}-%{release}-XXXXXX)
|
|
||||||
|
|
||||||
BuildRequires: python-devel
|
|
||||||
BuildRequires: python-setuptools
|
|
||||||
BuildRequires: python-netifaces
|
|
||||||
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
||||||
BuildRequires: python-webob1.0
|
|
||||||
BuildRequires: python-paste-deploy1.5
|
|
||||||
%else
|
|
||||||
BuildRequires: python-webob
|
|
||||||
BuildRequires: python-paste-deploy
|
|
||||||
%endif
|
|
||||||
BuildRequires: dos2unix
|
|
||||||
Requires: python-configobj
|
|
||||||
Requires: python-eventlet >= 0.9.8
|
|
||||||
Requires: python-greenlet >= 0.3.1
|
|
||||||
Requires: python-paste-deploy
|
|
||||||
Requires: python-simplejson
|
|
||||||
Requires: pyxattr
|
|
||||||
Requires: python-setuptools
|
|
||||||
Requires: python-netifaces
|
|
||||||
Requires: python-netifaces
|
|
||||||
|
|
||||||
Conflicts: openstack-swift
|
|
||||||
|
|
||||||
|
|
||||||
%description swift
|
|
||||||
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
Objects are written to multiple hardware devices in the data center, with the
|
|
||||||
OpenStack software responsible for ensuring data replication and integrity
|
|
||||||
across the cluster. Storage clusters can scale horizontally by adding new nodes,
|
|
||||||
which are automatically configured. Should a node fail, OpenStack works to
|
|
||||||
replicate its content from other active nodes. Because OpenStack uses software
|
|
||||||
logic to ensure data replication and distribution across different devices,
|
|
||||||
inexpensive commodity hard drives and servers can be used in lieu of more
|
|
||||||
expensive equipment.
|
|
||||||
|
|
||||||
|
|
||||||
%package swift-account
|
|
||||||
Summary: A swift account server
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-swift = %{version}-%{release}
|
|
||||||
|
|
||||||
%description swift-account
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
|
|
||||||
This package contains the %{name}-swift account server.
|
|
||||||
|
|
||||||
|
|
||||||
%package swift-container
|
|
||||||
Summary: A swift container server
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-swift = %{version}-%{release}
|
|
||||||
|
|
||||||
%description swift-container
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
|
|
||||||
This package contains the %{name}-swift container server.
|
|
||||||
|
|
||||||
%package swift-object
|
|
||||||
Summary: A swift object server
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-swift = %{version}-%{release}
|
|
||||||
Requires: rsync >= 3.0
|
|
||||||
|
|
||||||
%description swift-object
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
|
|
||||||
This package contains the %{name}-swift object server.
|
|
||||||
|
|
||||||
%package swift-proxy
|
|
||||||
Summary: A swift proxy server
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-swift = %{version}-%{release}
|
|
||||||
|
|
||||||
%description swift-proxy
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
|
|
||||||
This package contains the %{name}-swift proxy server.
|
|
||||||
|
|
||||||
|
|
||||||
%package swift-doc
|
|
||||||
Summary: Documentation for %{name}
|
|
||||||
Group: Documentation
|
|
||||||
BuildArch: noarch
|
|
||||||
# Required for generating docs
|
|
||||||
BuildRequires: python-eventlet
|
|
||||||
BuildRequires: python-simplejson
|
|
||||||
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
||||||
BuildRequires: python-webob1.0
|
|
||||||
BuildRequires: python-sphinx10
|
|
||||||
%else
|
|
||||||
BuildRequires: python-webob
|
|
||||||
BuildRequires: python-sphinx
|
|
||||||
%endif
|
|
||||||
BuildRequires: pyxattr
|
|
||||||
|
|
||||||
%description swift-doc
|
|
||||||
OpenStack Object Storage (swift) aggregates commodity servers to work together
|
|
||||||
in clusters for reliable, redundant, and large-scale storage of static objects.
|
|
||||||
|
|
||||||
This package contains documentation files for %{name}-swift.
|
|
||||||
|
|
||||||
%package swift-plugin
|
|
||||||
Summary: GlusterFS Unified File and Object Storage.
|
|
||||||
Group: Applications/System
|
|
||||||
License: ASL 2.0
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: %{name}-swift = %{version}-%{release}
|
|
||||||
Requires: memcached
|
|
||||||
Requires: openssl
|
|
||||||
Requires: python
|
|
||||||
Source20: gluster-swift-plugins.tar.gz
|
|
||||||
|
|
||||||
%description swift-plugin
|
|
||||||
Gluster Unified File and Object Storage unifies NAS and object storage
|
|
||||||
technology. This provides a system for data storage that enables users to access
|
|
||||||
the same data as an object and as a file, simplifying management and controlling
|
|
||||||
storage costs.
|
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
%setup -q -T -D -n %{name}-%{version} -a 10
|
|
||||||
%setup -q -T -D -n %{name}-%{version} -a 20
|
|
||||||
%patch0 -p0
|
%patch0 -p0
|
||||||
%patch1 -p0
|
%patch1 -p0
|
||||||
%patch2 -p0
|
%patch2 -p0
|
||||||
cd swift-%{SWIFTVER}
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
dos2unix LICENSE
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
@ -380,16 +221,6 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
|||||||
|
|
||||||
%{__make} %{?_smp_mflags}
|
%{__make} %{?_smp_mflags}
|
||||||
|
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
cd swift-%{SWIFTVER}
|
|
||||||
%{__python} setup.py build
|
|
||||||
%{__mkdir_p} doc/build
|
|
||||||
%if ( 0%{?fedora} )
|
|
||||||
%{__python} setup.py build_sphinx
|
|
||||||
%endif
|
|
||||||
cd ..
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{__rm} -rf %{buildroot}
|
%{__rm} -rf %{buildroot}
|
||||||
%{__make} install DESTDIR=%{buildroot}
|
%{__make} install DESTDIR=%{buildroot}
|
||||||
@ -415,6 +246,7 @@ cd ..
|
|||||||
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs
|
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfs
|
||||||
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd
|
%{__mkdir_p} %{buildroot}%{_localstatedir}/log/glusterfsd
|
||||||
|
|
||||||
|
|
||||||
# Remove unwanted files from all the shared libraries
|
# Remove unwanted files from all the shared libraries
|
||||||
find %{buildroot}%{_libdir} -name '*.a' -delete
|
find %{buildroot}%{_libdir} -name '*.a' -delete
|
||||||
find %{buildroot}%{_libdir} -name '*.la' -delete
|
find %{buildroot}%{_libdir} -name '*.la' -delete
|
||||||
@ -422,6 +254,11 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
|
|||||||
# Remove installed docs, we include them ourselves as %%doc
|
# Remove installed docs, we include them ourselves as %%doc
|
||||||
%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
|
%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/
|
||||||
|
|
||||||
|
# Rename the samples, so we can include them as %%config
|
||||||
|
for file in %{buildroot}%{_sysconfdir}/glusterfs/*.sample; do
|
||||||
|
%{__mv} ${file} `dirname ${file}`/`basename ${file} .sample`
|
||||||
|
done
|
||||||
|
|
||||||
# Create working directory
|
# Create working directory
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd
|
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd
|
||||||
|
|
||||||
@ -429,6 +266,10 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
|
|||||||
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
|
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
|
||||||
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
|
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
|
||||||
|
|
||||||
|
# Clean up the examples we want to include as %%doc
|
||||||
|
%{__cp} -a doc/examples examples
|
||||||
|
%{__rm} -f examples/Makefile*
|
||||||
|
|
||||||
# Install init script and sysconfig file
|
# Install init script and sysconfig file
|
||||||
%_init_install %{SOURCE7} glusterd
|
%_init_install %{SOURCE7} glusterd
|
||||||
%_init_install %{SOURCE8} glusterfsd
|
%_init_install %{SOURCE8} glusterfsd
|
||||||
@ -451,81 +292,9 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
|
|||||||
%{__install} -D -p -m 0644 %{SOURCE6} \
|
%{__install} -D -p -m 0644 %{SOURCE6} \
|
||||||
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
|
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
|
||||||
|
|
||||||
%if 0%{!?_without_georeplication:1}
|
# Install vim syntax plugin
|
||||||
# geo-rep ghosts
|
%{__install} -D -p -m 644 extras/glusterfs.vim \
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
|
%{buildroot}%{_datadir}/vim/vimfiles/syntax/glusterfs.vim
|
||||||
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# the rest of the ghosts
|
|
||||||
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/start/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/set/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/create/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/post
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/delete/pre
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/glustershd
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/vols
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/nfs
|
|
||||||
%{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd/peers
|
|
||||||
|
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
cd swift-%{SWIFTVER}
|
|
||||||
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
|
||||||
# Init helper functions
|
|
||||||
%{__install} -p -D -m 644 %{SOURCE11} %{buildroot}%{_datarootdir}/gluster-swift/functions
|
|
||||||
# Init scripts
|
|
||||||
%{__install} -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/gluster-swift-account
|
|
||||||
%{__install} -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/gluster-swift-container
|
|
||||||
%{__install} -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/gluster-swift-object
|
|
||||||
%{__install} -p -D -m 755 %{SOURCE15} %{buildroot}%{_initrddir}/gluster-swift-proxy
|
|
||||||
# Remove tests
|
|
||||||
%{__rm} -rf %{buildroot}/%{python_sitelib}/test
|
|
||||||
# Misc other
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/account-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/container-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/object-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_sysconfdir}/swift/proxy-server
|
|
||||||
# Install pid directory
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/account-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/container-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/object-server
|
|
||||||
%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/swift/proxy-server
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
%{__mkdir -p} %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
#%{__mkdir -p} %{buildroot}%{_sysconfdir}/swift
|
|
||||||
cd plugins
|
|
||||||
%{__install} -p -D -m 755 constraints.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
%{__install} -p -D -m 755 DiskDir.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
%{__install} -p -D -m 755 DiskFile.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
%{__install} -p -D -m 755 Glusterfs.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
%{__install} -p -D -m 755 __init__.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
%{__install} -p -D -m 755 utils.py %{buildroot}%{python_sitelib}/swift/plugins
|
|
||||||
cp -r conf/* %{buildroot}%{_sysconfdir}/swift
|
|
||||||
cd ..
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
%{__rm} -rf %{buildroot}
|
%{__rm} -rf %{buildroot}
|
||||||
@ -538,26 +307,21 @@ cd ..
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
|
%doc ChangeLog COPYING INSTALL README THANKS
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
||||||
%{_libdir}/glusterfs
|
%{_libdir}/glusterfs
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
%{_sbindir}/glusterfs*
|
%{_sbindir}/glusterfs*
|
||||||
|
%{_sbindir}/gluster
|
||||||
|
%{_sbindir}/glusterd
|
||||||
%{_libexecdir}/glusterfs
|
%{_libexecdir}/glusterfs
|
||||||
# %{_mandir}/man8/*gluster*.8*
|
%{_mandir}/man8/*gluster*.8*
|
||||||
%dir %{_localstatedir}/log/glusterfs
|
%dir %{_localstatedir}/log/glusterfs
|
||||||
%dir %{_sharedstatedir}/glusterd
|
|
||||||
%if 0%{!?_without_rdma:1}
|
%if 0%{!?_without_rdma:1}
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma*
|
%exclude %{_libdir}/glusterfs/%{version}/rpc-transport/rdma*
|
||||||
%endif
|
%endif
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
|
%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/storage*
|
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/features/posix*
|
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/protocol/server*
|
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/mgmt*
|
|
||||||
%exclude %{_libdir}/glusterfs/%{version}/xlator/nfs*
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{!?_without_rdma:1}
|
%if 0%{!?_without_rdma:1}
|
||||||
%files rdma
|
%files rdma
|
||||||
@ -569,20 +333,20 @@ cd ..
|
|||||||
%post geo-replication
|
%post geo-replication
|
||||||
#restart glusterd.
|
#restart glusterd.
|
||||||
%{_sysconfdir}/init.d/glusterd restart &> /dev/null
|
%{_sysconfdir}/init.d/glusterd restart &> /dev/null
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{!?_without_georeplication:1}
|
||||||
%files geo-replication
|
%files geo-replication
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libexecdir}/glusterfs/gsyncd
|
%{_libexecdir}/glusterfs/gsyncd
|
||||||
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
|
|
||||||
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd.conf
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files fuse
|
%files fuse
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-fuse
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
|
%{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
|
||||||
# %{_mandir}/man8/mount.glusterfs.8*
|
%{_mandir}/man8/mount.glusterfs.8*
|
||||||
/sbin/mount.glusterfs
|
/sbin/mount.glusterfs
|
||||||
/sbin/umount.glusterfs
|
/sbin/umount.glusterfs
|
||||||
%if 0%{?_with_fusermount:1}
|
%if 0%{?_with_fusermount:1}
|
||||||
@ -592,53 +356,21 @@ cd ..
|
|||||||
|
|
||||||
%files server
|
%files server
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%doc examples/ doc/glusterfs*.vol.sample
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterd
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
||||||
%config(noreplace) %{_sysconfdir}/glusterfs
|
%config(noreplace) %{_sysconfdir}/glusterfs
|
||||||
# Legacy configs
|
# Legacy configs
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
||||||
|
%{_sharedstatedir}/glusterd
|
||||||
%_init_file1
|
%_init_file1
|
||||||
%_init_file2
|
%_init_file2
|
||||||
%{_sbindir}/gluster
|
|
||||||
%{_sbindir}/glusterd
|
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/storage*
|
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/features/posix*
|
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/protocol/server*
|
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/mgmt*
|
|
||||||
%{_libdir}/glusterfs/%{version}/xlator/nfs*
|
|
||||||
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/glusterd.info
|
|
||||||
# This is really ugly, but I have no idea how to mark these directories in an
|
|
||||||
# other way. They should belong to the glusterfs-server package, but don't
|
|
||||||
# exist after installation. They are generated on the first start...
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
|
|
||||||
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
|
|
||||||
|
|
||||||
|
%files vim
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc COPYING
|
||||||
|
%{_datadir}/vim/vimfiles/syntax/glusterfs.vim
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -646,143 +378,11 @@ cd ..
|
|||||||
%exclude %{_includedir}/glusterfs/y.tab.h
|
%exclude %{_includedir}/glusterfs/y.tab.h
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
|
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
%files swift
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/AUTHORS
|
|
||||||
%doc swift-%{SWIFTVER}/LICENSE
|
|
||||||
%doc swift-%{SWIFTVER}/README
|
|
||||||
%doc swift-%{SWIFTVER}/etc/dispersion.conf-sample
|
|
||||||
%doc swift-%{SWIFTVER}/etc/drive-audit.conf-sample
|
|
||||||
%doc swift-%{SWIFTVER}/etc/object-expirer.conf-sample
|
|
||||||
%doc swift-%{SWIFTVER}/etc/swift.conf-sample
|
|
||||||
%dir %{_datarootdir}/gluster-swift/functions
|
|
||||||
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift
|
|
||||||
%dir %{_sysconfdir}/swift
|
|
||||||
%dir %{python_sitelib}/swift
|
|
||||||
%{_bindir}/swift
|
|
||||||
%{_bindir}/swift-account-audit
|
|
||||||
%{_bindir}/swift-bench
|
|
||||||
%{_bindir}/swift-drive-audit
|
|
||||||
%{_bindir}/swift-get-nodes
|
|
||||||
%{_bindir}/swift-init
|
|
||||||
%{_bindir}/swift-ring-builder
|
|
||||||
%{_bindir}/swift-dispersion-populate
|
|
||||||
%{_bindir}/swift-dispersion-report
|
|
||||||
%{_bindir}/swift-recon*
|
|
||||||
%{_bindir}/swift-object-expirer
|
|
||||||
%{_bindir}/swift-oldies
|
|
||||||
%{_bindir}/swift-orphans
|
|
||||||
%{_bindir}/swift-form-signature
|
|
||||||
%{_bindir}/swift-temp-url
|
|
||||||
%{python_sitelib}/swift/*.py*
|
|
||||||
%{python_sitelib}/swift/common
|
|
||||||
%{python_sitelib}/swift-%{SWIFTVER}-*.egg-info
|
|
||||||
|
|
||||||
%files swift-account
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/etc/account-server.conf-sample
|
|
||||||
%dir %{_initrddir}/gluster-swift-account
|
|
||||||
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/account-server
|
|
||||||
%dir %{_sysconfdir}/swift/account-server
|
|
||||||
%{_bindir}/swift-account-auditor
|
|
||||||
%{_bindir}/swift-account-reaper
|
|
||||||
%{_bindir}/swift-account-replicator
|
|
||||||
%{_bindir}/swift-account-server
|
|
||||||
%{python_sitelib}/swift/account
|
|
||||||
|
|
||||||
%files swift-container
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/etc/container-server.conf-sample
|
|
||||||
%dir %{_initrddir}/gluster-swift-container
|
|
||||||
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/container-server
|
|
||||||
%dir %{_sysconfdir}/swift/container-server
|
|
||||||
%{_bindir}/swift-container-auditor
|
|
||||||
%{_bindir}/swift-container-server
|
|
||||||
%{_bindir}/swift-container-replicator
|
|
||||||
%{_bindir}/swift-container-updater
|
|
||||||
%{_bindir}/swift-container-sync
|
|
||||||
%{python_sitelib}/swift/container
|
|
||||||
|
|
||||||
%files swift-object
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/etc/object-server.conf-sample
|
|
||||||
%doc swift-%{SWIFTVER}/etc/rsyncd.conf-sample
|
|
||||||
%dir %{_initrddir}/gluster-swift-object
|
|
||||||
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/object-server
|
|
||||||
%dir %{_sysconfdir}/swift/object-server
|
|
||||||
%{_bindir}/swift-object-auditor
|
|
||||||
%{_bindir}/swift-object-info
|
|
||||||
%{_bindir}/swift-object-replicator
|
|
||||||
%{_bindir}/swift-object-server
|
|
||||||
%{_bindir}/swift-object-updater
|
|
||||||
%{python_sitelib}/swift/obj
|
|
||||||
|
|
||||||
%files swift-proxy
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/etc/proxy-server.conf-sample
|
|
||||||
%dir %{_initrddir}/gluster-swift-proxy
|
|
||||||
%dir %attr(0755, swift, swift) %{_localstatedir}/run/swift/proxy-server
|
|
||||||
%dir %{_sysconfdir}/swift/proxy-server
|
|
||||||
%{_bindir}/swift-proxy-server
|
|
||||||
%{python_sitelib}/swift/proxy
|
|
||||||
|
|
||||||
%files swift-doc
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc swift-%{SWIFTVER}/LICENSE
|
|
||||||
|
|
||||||
%files swift-plugin
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{python_sitelib}/swift/plugins
|
|
||||||
%{_sysconfdir}/swift
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%post server
|
%post server
|
||||||
# Legacy server
|
# Legacy server
|
||||||
%_init_enable glusterd
|
%_init_enable glusterd
|
||||||
%_init_enable glusterfsd
|
%_init_enable glusterfsd
|
||||||
|
|
||||||
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
|
|
||||||
# there are any files in /etc from a prior gluster.org install, move them
|
|
||||||
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
|
|
||||||
# in gluster.org RPMs.) Be careful to copy them on the off chance that
|
|
||||||
# /etc and /var/lib are on separate file systems
|
|
||||||
if [ -d /etc/glusterd ]; then
|
|
||||||
%{__mkdir_p} /var/lib
|
|
||||||
cp -a /etc/glusterd /var/lib
|
|
||||||
rm -rf /etc/glusterd
|
|
||||||
ln -sf /var/lib/glusterd /etc/glusterd
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rename old volfiles in an RPM-standard way. These aren't actually
|
|
||||||
# considered package config files, so %config doesn't work for them.
|
|
||||||
if [ -d /var/lib/glusterd/vols ]; then
|
|
||||||
for file in $(find /var/lib/glusterd/vols -name '*.vol'); do
|
|
||||||
newfile=${file}.rpmsave
|
|
||||||
echo "warning: ${file} saved as ${newfile}"
|
|
||||||
cp ${file} ${newfile}
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# add marker translator
|
|
||||||
# but first make certain that there are no old libs around to bite us
|
|
||||||
# BZ 834847
|
|
||||||
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
|
|
||||||
rm -f /etc/ld.so.conf.d/glusterfs.conf
|
|
||||||
/sbin/ldconfig
|
|
||||||
fi
|
|
||||||
pidof -c -o %PPID -x glusterd &> /dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
kill -9 `pgrep -f gsyncd.py` &> /dev/null
|
|
||||||
|
|
||||||
killall glusterd &> /dev/null
|
|
||||||
glusterd --xlator-option *.upgrade=on -N
|
|
||||||
else
|
|
||||||
glusterd --xlator-option *.upgrade=on -N
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
%preun server
|
%preun server
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%_init_stop glusterfsd
|
%_init_stop glusterfsd
|
||||||
@ -795,74 +395,10 @@ if [ $1 -ge 1 ]; then
|
|||||||
%_init_restart glusterfsd
|
%_init_restart glusterfsd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?_with_swift:1}
|
|
||||||
%pre swift
|
|
||||||
getent group swift >/dev/null || groupadd -r swift -g 160
|
|
||||||
getent passwd swift >/dev/null || \
|
|
||||||
useradd -r -g swift -u 160 -d %{_sharedstatedir}/swift -s /sbin/nologin \
|
|
||||||
-c "OpenStack Swift Daemons" swift
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%post swift-account
|
|
||||||
/sbin/chkconfig --add gluster-swift-account
|
|
||||||
|
|
||||||
%preun swift-account
|
|
||||||
if [ $1 = 0 ] ; then
|
|
||||||
/sbin/service gluster-swift-account stop >/dev/null 2>&1
|
|
||||||
/sbin/chkconfig --del gluster-swift-account
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun swift-account
|
|
||||||
if [ "$1" -ge "1" ] ; then
|
|
||||||
/sbin/service gluster-swift-account condrestart >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post swift-container
|
|
||||||
/sbin/chkconfig --add gluster-swift-container
|
|
||||||
|
|
||||||
%preun swift-container
|
|
||||||
if [ $1 = 0 ] ; then
|
|
||||||
/sbin/service gluster-swift-container stop >/dev/null 2>&1
|
|
||||||
/sbin/chkconfig --del gluster-swift-container
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun swift-container
|
|
||||||
if [ "$1" -ge "1" ] ; then
|
|
||||||
/sbin/service gluster-swift-container condrestart >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post swift-object
|
|
||||||
/sbin/chkconfig --add gluster-swift-object
|
|
||||||
|
|
||||||
%preun swift-object
|
|
||||||
if [ $1 = 0 ] ; then
|
|
||||||
/sbin/service gluster-swift-object stop >/dev/null 2>&1
|
|
||||||
/sbin/chkconfig --del gluster-swift-object
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun swift-object
|
|
||||||
if [ "$1" -ge "1" ] ; then
|
|
||||||
/sbin/service gluster-swift-object condrestart >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post swift-proxy
|
|
||||||
/sbin/chkconfig --add gluster-swift-proxy
|
|
||||||
|
|
||||||
%preun swift-proxy
|
|
||||||
if [ $1 = 0 ] ; then
|
|
||||||
/sbin/service gluster-swift-proxy stop >/dev/null 2>&1
|
|
||||||
/sbin/chkconfig --del gluster-swift-proxy
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun swift-proxy
|
|
||||||
if [ "$1" -ge "1" ] ; then
|
|
||||||
/sbin/service gluster-swift-proxy condrestart >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 27 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.2.7-2
|
||||||
|
- fix SEGV in glusterd-rpc-ops.c, BZ 837684, f17 only.
|
||||||
|
|
||||||
* Wed Aug 12 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-5
|
* Wed Aug 12 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-5
|
||||||
- now with UFO (openstack-swift) except on el5
|
- now with UFO (openstack-swift) except on el5
|
||||||
|
|
||||||
@ -876,6 +412,9 @@ fi
|
|||||||
* Thu Jul 5 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-2
|
* Thu Jul 5 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-2
|
||||||
- selected fixes to glusterfs.spec for BZs 826836, 826855, 829734, 834847
|
- selected fixes to glusterfs.spec for BZs 826836, 826855, 829734, 834847
|
||||||
|
|
||||||
|
* Mon Jun 11 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.2.7-1
|
||||||
|
- Update to 3.2.7
|
||||||
|
|
||||||
* Thu May 31 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-1
|
* Thu May 31 2012 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.3.0-1
|
||||||
- Update to 3.3.0
|
- Update to 3.3.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user