summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f426fb9)
obd device name needs space enough for "<dev_name>-<instance_name>\0".
This fixes the glitch in commit
cbc4ca2e8dc37d54bb7d3c9b02ab20b63e60f592.
Change-Id: Ib8c3c8db49baad8a9ca068a1c8009aee72aa1e62
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1280
Tested-by: Hudson
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jinshan Xiong <jay@whamcloud.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Yu Jian <yujian@whamcloud.com>
int async = 1, err = -EINVAL;
struct obd_connect_data ocd = {0,};
struct md_op_data op_data = {{0}};
int async = 1, err = -EINVAL;
struct obd_connect_data ocd = {0,};
struct md_op_data op_data = {{0}};
+ /* %p for void* in printf needs 16+2 characters: 0xffffffffffffffff */
+ const int instlen = sizeof(cfg.cfg_instance) * 2 + 2;
CERROR("No profile found: %s\n", zconf_profile);
GOTO(out_free, err = -EINVAL);
}
CERROR("No profile found: %s\n", zconf_profile);
GOTO(out_free, err = -EINVAL);
}
- OBD_ALLOC(osc, strlen(lprof->lp_dt) + sizeof(cfg.cfg_instance)*2 + 1);
+ OBD_ALLOC(osc, strlen(lprof->lp_dt) + instlen + 2);
sprintf(osc, "%s-%p", lprof->lp_dt, cfg.cfg_instance);
sprintf(osc, "%s-%p", lprof->lp_dt, cfg.cfg_instance);
- OBD_ALLOC(mdc, strlen(lprof->lp_md) + sizeof(cfg.cfg_instance)*2 + 1);
+ OBD_ALLOC(mdc, strlen(lprof->lp_md) + instlen + 2);
sprintf(mdc, "%s-%p", lprof->lp_md, cfg.cfg_instance);
if (!osc) {
sprintf(mdc, "%s-%p", lprof->lp_md, cfg.cfg_instance);
if (!osc) {
ptlrpc_req_finished(request);
CDEBUG(D_SUPER, "LibLustre: %s mounted successfully!\n", source);
ptlrpc_req_finished(request);
CDEBUG(D_SUPER, "LibLustre: %s mounted successfully!\n", source);
- liblustre_wait_idle();
-
- return 0;
+ err = 0;
+ goto out_free;
out_inode:
_sysio_i_gone(root);
out_inode:
_sysio_i_gone(root);
obd_disconnect(sbi->ll_md_exp);
out_free:
if (osc)
obd_disconnect(sbi->ll_md_exp);
out_free:
if (osc)
- OBD_FREE(osc, strlen(osc) + 1);
+ OBD_FREE(osc, strlen(lprof->lp_dt) + instlen + 2);
- OBD_FREE(mdc, strlen(mdc) + 1);
+ OBD_FREE(mdc, strlen(lprof->lp_md) + instlen + 2);
OBD_FREE(sbi, sizeof(*sbi));
liblustre_wait_idle();
return err;
OBD_FREE(sbi, sizeof(*sbi));
liblustre_wait_idle();
return err;
char *dt = NULL, *md = NULL;
char *profilenm = get_profile_name(sb);
struct config_llog_instance *cfg;
char *dt = NULL, *md = NULL;
char *profilenm = get_profile_name(sb);
struct config_llog_instance *cfg;
- const int instlen = sizeof(cfg->cfg_instance) * 2 + 1;
+ /* %p for void* in printf needs 16+2 characters: 0xffffffffffffffff */
+ const int instlen = sizeof(cfg->cfg_instance) * 2 + 2;
CDEBUG(D_CONFIG, "Found profile %s: mdc=%s osc=%s\n", profilenm,
lprof->lp_md, lprof->lp_dt);
CDEBUG(D_CONFIG, "Found profile %s: mdc=%s osc=%s\n", profilenm,
lprof->lp_md, lprof->lp_dt);
- OBD_ALLOC(dt, strlen(lprof->lp_dt) + instlen);
+ OBD_ALLOC(dt, strlen(lprof->lp_dt) + instlen + 2);
if (!dt)
GOTO(out_free, err = -ENOMEM);
sprintf(dt, "%s-%p", lprof->lp_dt, cfg->cfg_instance);
if (!dt)
GOTO(out_free, err = -ENOMEM);
sprintf(dt, "%s-%p", lprof->lp_dt, cfg->cfg_instance);
- OBD_ALLOC(md, strlen(lprof->lp_md) + instlen);
+ OBD_ALLOC(md, strlen(lprof->lp_md) + instlen + 2);
if (!md)
GOTO(out_free, err = -ENOMEM);
sprintf(md, "%s-%p", lprof->lp_md, cfg->cfg_instance);
if (!md)
GOTO(out_free, err = -ENOMEM);
sprintf(md, "%s-%p", lprof->lp_md, cfg->cfg_instance);
- OBD_FREE(md, strlen(lprof->lp_md) + instlen);
+ OBD_FREE(md, strlen(lprof->lp_md) + instlen + 2);
- OBD_FREE(dt, strlen(lprof->lp_dt) + instlen);
+ OBD_FREE(dt, strlen(lprof->lp_dt) + instlen + 2);
if (err)
ll_put_super(sb);
else
if (err)
ll_put_super(sb);
else
LUSTRE_CFG_BUFLEN(lcfg, 0) > 0){
inst = 1;
inst_len = LUSTRE_CFG_BUFLEN(lcfg, 0) +
LUSTRE_CFG_BUFLEN(lcfg, 0) > 0){
inst = 1;
inst_len = LUSTRE_CFG_BUFLEN(lcfg, 0) +
- sizeof(clli->cfg_instance) * 2 + 1;
+ sizeof(clli->cfg_instance) * 2 + 4;
OBD_ALLOC(inst_name, inst_len);
if (inst_name == NULL)
GOTO(out, rc = -ENOMEM);
OBD_ALLOC(inst_name, inst_len);
if (inst_name == NULL)
GOTO(out, rc = -ENOMEM);