*/
int lodname2mdt_index(char *lodname, u32 *mdt_index)
{
- unsigned long index;
- char *ptr, *tmp;
+ u32 index;
+ const char *ptr, *tmp;
int rc;
/* 1.8 configs don't have "-MDT0000" at the end */
return rc;
}
- index = simple_strtol(ptr - 4, &tmp, 16);
- if (*tmp != '-' || index > INT_MAX) {
+ rc = target_name2index(ptr - 7, &index, &tmp);
+ if (rc < 0 || rc & LDD_F_SV_ALL || *tmp != '-') {
rc = -EINVAL;
CERROR("invalid MDT index in '%s': rc = %d\n", lodname, rc);
return rc;
{
struct obd_device *obd;
struct obd_import *imp;
- char *src, *tgt, *mdt, *osdname = NULL;
+ char *src, *tgt, *osdname = NULL;
+ const char *mdt;
int rc;
- long idx;
+ u32 idx;
ENTRY;
RETURN(-EINVAL);
}
- idx = simple_strtol(tgt + 4, &mdt, 16);
- if (mdt[0] != '-' || idx > INT_MAX || idx < 0) {
+ rc = target_name2index(tgt + 1, &idx, &mdt);
+ if (rc < 0 || rc & LDD_F_SV_ALL || mdt[0] != '-') {
CERROR("%s: invalid OST index in '%s': rc = %d\n",
osp->opd_obd->obd_name, src, -EINVAL);
RETURN(-EINVAL);
RETURN(-EINVAL);
}
- idx = simple_strtol(tgt + 4, &mdt, 16);
- if (*mdt != '\0' || idx > INT_MAX || idx < 0) {
+ rc = target_name2index(tgt + 1, &idx, &mdt);
+ if (rc < 0 || rc & LDD_F_SV_ALL || *mdt != '\0') {
CERROR("%s: invalid OST index in '%s': rc = %d\n",
osp->opd_obd->obd_name, src, -EINVAL);
RETURN(-EINVAL);
if (strncmp(tgt - 12, "-MDT", 4) == 0)
osp->opd_connect_mdt = 1;
- idx = simple_strtol(tgt - 8, &mdt, 16);
- if (mdt[0] != '-' || idx > INT_MAX || idx < 0) {
+ rc = target_name2index(tgt - 11, &idx, &mdt);
+ if (rc < 0 || rc & LDD_F_SV_ALL || mdt[0] != '-') {
CERROR("%s: invalid OST index in '%s': rc =%d\n",
osp->opd_obd->obd_name, src, -EINVAL);
RETURN(-EINVAL);