mdfd = open_dev(ent->devnm);
if (mdfd < 0) {
if (verbose >= 0)
- pr_err("Cannot open array %s!!\n", ent->dev);
+ pr_err("Cannot open array %s!!\n", ent->devnm);
free_mdstat(ent);
return 1;
}
struct mdstat_ent *mdstat = mdstat_read(0, 0);
struct mdstat_ent *memb;
for (memb = mdstat ; memb ; memb = memb->next)
- if (is_container_member(memb, ent->dev)) {
+ if (is_container_member(memb, ent->devnm)) {
int subfd = open_dev(memb->devnm);
if (subfd >= 0) {
rv |= Manage_subdevs(
- memb->dev, subfd,
+ memb->devnm, subfd,
&devlist, verbose, 0,
NULL, 0);
close(subfd);
}
free_mdstat(mdstat);
} else
- rv |= Manage_subdevs(ent->dev, mdfd, &devlist,
+ rv |= Manage_subdevs(ent->devnm, mdfd, &devlist,
verbose, 0, NULL, 0);
if (rv & 2) {
/* Failed due to EBUSY, try to stop the array.
*/
int devid = devnm2devid(ent->devnm);
run_udisks("--unmount", map_dev(major(devid),minor(devid), 0));
- rv = Manage_stop(ent->dev, mdfd, verbose, 1);
+ rv = Manage_stop(ent->devnm, mdfd, verbose, 1);
if (rv)
/* At least we can try to trigger a 'remove' */
sysfs_uevent(&mdi, "remove");
}
} else {
devlist.disposition = 'r';
- rv = Manage_subdevs(ent->dev, mdfd, &devlist,
+ rv = Manage_subdevs(ent->devnm, mdfd, &devlist,
verbose, 0, NULL, 0);
}
close(mdfd);
devnm)) {
if (verbose >= 0)
pr_err("Cannot stop container %s: member %s still active\n",
- devname, m->dev);
+ devname, m->devnm);
free_mdstat(mds);
rv = 1;
goto out;
!is_subarray(&ent->metadata_version[9])) {
d = xmalloc(sizeof(*d));
memset(d, 0, sizeof(*d));
- me = map_by_devnm(&map, ent->dev);
+ me = map_by_devnm(&map, ent->devnm);
if (me)
d->devname = xstrdup(me->path);
- else if (asprintf(&d->devname, "/dev/%s", ent->dev) < 0) {
+ else if (asprintf(&d->devname, "/dev/%s", ent->devnm) < 0) {
free(d);
continue;
}
if (!name) {
pr_err("cannot find device file for %s\n",
- e->dev);
+ e->devnm);
continue;
}
if (devmode == 'D')
if (!name) {
pr_err("cannot find device file for %s\n",
- e->dev);
+ e->devnm);
continue;
}
mdfd = open_mddev(name, 1);
} mapping_t;
struct mdstat_ent {
- char *dev;
char devnm[32];
int active;
char *level;
{
while (ms) {
struct mdstat_ent *t;
- free(ms->dev);
free(ms->level);
free(ms->pattern);
free(ms->metadata_version);
strcpy(devnm, line);
ent = xmalloc(sizeof(*ent));
- ent->dev = ent->level = ent->pattern= NULL;
+ ent->level = ent->pattern= NULL;
ent->next = NULL;
ent->percent = RESYNC_NONE;
ent->active = -1;
ent->devcnt = 0;
ent->members = NULL;
- ent->dev = xstrdup(line);
strcpy(ent->devnm, devnm);
for (w=dl_next(line); w!= line ; w=dl_next(w)) {
sysfs_free(sra);
sra = sysfs_read(-1, e2->devnm, GET_VERSION);
if (unblock_subarray(sra, freeze))
- pr_err("Failed to unfreeze %s\n", e2->dev);
+ pr_err("Failed to unfreeze %s\n", e2->devnm);
}
ping_monitor(container); /* cleared frozen */
if (sra->array.level > 0)
to_ping++;
if (unblock_subarray(sra, unfreeze))
- pr_err("Failed to unfreeze %s\n", e->dev);
+ pr_err("Failed to unfreeze %s\n", e->devnm);
}
if (to_ping)
ping_monitor(container);
for (vol = mdstat ; vol ; vol = vol->next) {
if ((vol->active > 0) &&
vol->metadata_version &&
- is_container_member(vol, memb->dev)) {
+ is_container_member(vol, memb->devnm)) {
found++;
count++;
}
}
if (*devlist && (found < dpa)) {
dv = xcalloc(1, sizeof(*dv));
- dv->devname = xmalloc(strlen(memb->dev) + strlen("/dev/") + 1);
- sprintf(dv->devname, "%s%s", "/dev/", memb->dev);
+ dv->devname = xmalloc(strlen(memb->devnm) + strlen("/dev/") + 1);
+ sprintf(dv->devname, "%s%s", "/dev/", memb->devnm);
dv->found = found;
dv->used = 0;
dv->next = *devlist;