diff options
author | Neil Brown <neilb@suse.de> | 2006-03-28 06:26:53 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-03-28 06:26:53 +0000 |
commit | 16c6fa807c1e43a1a12bbeb7668b4166d14b2cc8 (patch) | |
tree | 903679d6d0832899f1b36279bcb66e75b1e4c98f /Grow.c | |
parent | 8352ab3e2cd6f892ca53cd4e276c11017f6a4bdf (diff) | |
download | mdadm-16c6fa807c1e43a1a12bbeb7668b4166d14b2cc8.tar.gz mdadm-16c6fa807c1e43a1a12bbeb7668b4166d14b2cc8.tar.xz mdadm-16c6fa807c1e43a1a12bbeb7668b4166d14b2cc8.zip |
Create missing /dev files where needed.
Whenever we need a device file to open, if one cannot be found in /dev,
create a temporary one.
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'Grow.c')
-rw-r--r-- | Grow.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -92,13 +92,13 @@ int Grow_Add_device(char *devname, int fd, char *newdev) d); return 1; } - dv = map_dev(disk.major, disk.minor); + dv = map_dev(disk.major, disk.minor, 1); if (!dv) { fprintf(stderr, Name ": cannot find device file for device %d\n", d); return 1; } - fd2 = open(dv, O_RDWR); + fd2 = dev_open(dv, O_RDWR); if (!fd2) { fprintf(stderr, Name ": cannot open device file %s\n", dv); return 1; @@ -154,13 +154,13 @@ int Grow_Add_device(char *devname, int fd, char *newdev) d); return 1; } - dv = map_dev(disk.major, disk.minor); + dv = map_dev(disk.major, disk.minor, 1); if (!dv) { fprintf(stderr, Name ": cannot find device file for device %d\n", d); return 1; } - fd2 = open(dv, O_RDWR); + fd2 = dev_open(dv, O_RDWR); if (fd2 < 0) { fprintf(stderr, Name ": cannot open device file %s\n", dv); return 1; @@ -298,10 +298,10 @@ int Grow_addbitmap(char *devname, int fd, char *file, int chunk, int delay, int continue; if ((disk.state & (1<<MD_DISK_SYNC))==0) continue; - dv = map_dev(disk.major, disk.minor); + dv = map_dev(disk.major, disk.minor, 1); if (dv) { void *super; - int fd2 = open(dv, O_RDWR); + int fd2 = dev_open(dv, O_RDWR); if (fd2 < 0) continue; if (st->ss->load_super(st, fd2, &super, NULL)==0) { @@ -343,9 +343,9 @@ int Grow_addbitmap(char *devname, int fd, char *file, int chunk, int delay, int if ((disk.major==0 && disk.minor==0) || (disk.state & (1<<MD_DISK_REMOVED))) continue; - dv = map_dev(disk.major, disk.minor); + dv = map_dev(disk.major, disk.minor, 1); if (!dv) continue; - fd2 = open(dv, O_RDONLY); + fd2 = dev_open(dv, O_RDONLY); if (fd2 >= 0 && st->ss->load_super(st, fd2, &super, NULL) == 0) { close(fd2); @@ -647,8 +647,8 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file, if (sd->state & (1<<MD_DISK_FAULTY)) continue; if (sd->state & (1<<MD_DISK_SYNC)) { - char *dn = map_dev(sd->major, sd->minor); - fdlist[sd->role] = open(dn, O_RDONLY); + char *dn = map_dev(sd->major, sd->minor, 1); + fdlist[sd->role] = dev_open(dn, O_RDONLY); offsets[sd->role] = sd->offset; if (fdlist[sd->role] < 0) { fprintf(stderr, Name ": %s: cannot open component %s\n", @@ -657,8 +657,8 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file, } } else { /* spare */ - char *dn = map_dev(sd->major, sd->minor); - fdlist[d] = open(dn, O_RDWR); + char *dn = map_dev(sd->major, sd->minor, 1); + fdlist[d] = dev_open(dn, O_RDWR); offsets[d] = sd->offset; if (fdlist[d]<0) { fprintf(stderr, Name ": %s: cannot open component %s\n", |