summaryrefslogtreecommitdiffstats
path: root/sysfs.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2007-12-14 20:14:57 +1100
committerNeil Brown <neilb@suse.de>2007-12-14 20:14:57 +1100
commit06c7f68e40134cbef3186426ebf63c4f6d4e30f5 (patch)
tree38b8086f035bdab39ade0a725fd8535015ebba7d /sysfs.c
parent213ee40bd2d0e09288b629a80fa85816f45fe48b (diff)
downloadmdadm-06c7f68e40134cbef3186426ebf63c4f6d4e30f5.tar.gz
mdadm-06c7f68e40134cbef3186426ebf63c4f6d4e30f5.tar.xz
mdadm-06c7f68e40134cbef3186426ebf63c4f6d4e30f5.zip
Use 'mdinfo' instead of special 'sysdev' structure.
there is needless duplicatiion between mdinfo and sysdev, so discard the latter.
Diffstat (limited to 'sysfs.c')
-rw-r--r--sysfs.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sysfs.c b/sysfs.c
index 1dbc680..970d211 100644
--- a/sysfs.c
+++ b/sysfs.c
@@ -47,7 +47,7 @@ void sysfs_free(struct sysarray *sra)
if (!sra)
return;
while (sra->devs) {
- struct sysdev *d = sra->devs;
+ struct mdinfo *d = sra->devs;
sra->devs = d->next;
free(d);
}
@@ -66,7 +66,7 @@ struct sysarray *sysfs_read(int fd, int devnum, unsigned long options)
char *base;
char *dbase;
struct sysarray *sra;
- struct sysdev *dev;
+ struct mdinfo *dev;
DIR *dir;
struct dirent *de;
@@ -169,42 +169,42 @@ struct sysarray *sysfs_read(int fd, int devnum, unsigned long options)
goto abort;
dev->next = sra->devs;
sra->devs = dev;
- strcpy(dev->name, de->d_name);
+ strcpy(dev->sys_name, de->d_name);
/* Always get slot, major, minor */
strcpy(dbase, "slot");
if (load_sys(fname, buf))
goto abort;
- dev->role = strtoul(buf, &ep, 10);
- if (*ep) dev->role = -1;
+ dev->disk.raid_disk = strtoul(buf, &ep, 10);
+ if (*ep) dev->disk.raid_disk = -1;
strcpy(dbase, "block/dev");
if (load_sys(fname, buf))
goto abort;
- sscanf(buf, "%d:%d", &dev->major, &dev->minor);
+ sscanf(buf, "%d:%d", &dev->disk.major, &dev->disk.minor);
if (options & GET_OFFSET) {
strcpy(dbase, "offset");
if (load_sys(fname, buf))
goto abort;
- dev->offset = strtoull(buf, NULL, 0);
+ dev->data_offset = strtoull(buf, NULL, 0);
}
if (options & GET_SIZE) {
strcpy(dbase, "size");
if (load_sys(fname, buf))
goto abort;
- dev->size = strtoull(buf, NULL, 0);
+ dev->component_size = strtoull(buf, NULL, 0);
}
if (options & GET_STATE) {
- dev->state = 0;
+ dev->disk.state = 0;
strcpy(dbase, "state");
if (load_sys(fname, buf))
goto abort;
if (strstr(buf, "in_sync"))
- dev->state |= (1<<MD_DISK_SYNC);
+ dev->disk.state |= (1<<MD_DISK_SYNC);
if (strstr(buf, "faulty"))
- dev->state |= (1<<MD_DISK_FAULTY);
- if (dev->state == 0)
+ dev->disk.state |= (1<<MD_DISK_FAULTY);
+ if (dev->disk.state == 0)
sra->spares++;
}
if (options & GET_ERROR) {
@@ -251,14 +251,14 @@ unsigned long long get_component_size(int fd)
return strtoull(fname, NULL, 10) * 2;
}
-int sysfs_set_str(struct sysarray *sra, struct sysdev *dev,
+int sysfs_set_str(struct sysarray *sra, struct mdinfo *dev,
char *name, char *val)
{
char fname[50];
int n;
int fd;
sprintf(fname, "/sys/block/%s/md/%s/%s",
- sra->name, dev?dev->name:"", name);
+ sra->name, dev?dev->sys_name:"", name);
fd = open(fname, O_WRONLY);
if (fd < 0)
return -1;
@@ -269,7 +269,7 @@ int sysfs_set_str(struct sysarray *sra, struct sysdev *dev,
return 0;
}
-int sysfs_set_num(struct sysarray *sra, struct sysdev *dev,
+int sysfs_set_num(struct sysarray *sra, struct mdinfo *dev,
char *name, unsigned long long val)
{
char valstr[50];
@@ -277,7 +277,7 @@ int sysfs_set_num(struct sysarray *sra, struct sysdev *dev,
return sysfs_set_str(sra, dev, name, valstr);
}
-int sysfs_get_ll(struct sysarray *sra, struct sysdev *dev,
+int sysfs_get_ll(struct sysarray *sra, struct mdinfo *dev,
char *name, unsigned long long *val)
{
char fname[50];
@@ -286,7 +286,7 @@ int sysfs_get_ll(struct sysarray *sra, struct sysdev *dev,
int fd;
char *ep;
sprintf(fname, "/sys/block/%s/md/%s/%s",
- sra->name, dev?dev->name:"", name);
+ sra->name, dev?dev->sys_name:"", name);
fd = open(fname, O_RDONLY);
if (fd < 0)
return -1;