summaryrefslogtreecommitdiffstats
path: root/Assemble.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-12-05 05:52:50 +0000
committerNeil Brown <neilb@suse.de>2005-12-05 05:52:50 +0000
commit8b0dabea0762e2cd786c1539845823ecd914657a (patch)
tree0a6b3a8c089910f963fa180c47996343fdef43e9 /Assemble.c
parentd9d4e4698f11b937c42f1c983aca57fd50038a73 (diff)
downloadmdadm-8b0dabea0762e2cd786c1539845823ecd914657a.tar.gz
mdadm-8b0dabea0762e2cd786c1539845823ecd914657a.tar.xz
mdadm-8b0dabea0762e2cd786c1539845823ecd914657a.zip
Allow scanning of devices listed in /proc/partitions independant of /dev
If a device found in /proc/partitions isn't listed in /dev, then mknod a temporary name and open that. Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r--Assemble.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Assemble.c b/Assemble.c
index ae06f57..d251500 100644
--- a/Assemble.c
+++ b/Assemble.c
@@ -195,7 +195,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
super = NULL;
}
- dfd = open(devname, O_RDONLY|O_EXCL, 0);
+ dfd = dev_open(devname, O_RDONLY|O_EXCL);
if (dfd < 0) {
if ((inargv && verbose >= 0) || verbose > 0)
fprintf(stderr, Name ": cannot open device %s: %s\n",
@@ -287,7 +287,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
st->ss->update_super(&info, super, update, devname, verbose);
- dfd = open(devname, O_RDWR|O_EXCL, 0);
+ dfd = dev_open(devname, O_RDWR|O_EXCL);
if (dfd < 0)
fprintf(stderr, Name ": Cannot open %s for superblock update\n",
devname);
@@ -418,7 +418,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
devices[chosen_drive].devname, devices[chosen_drive].raid_disk,
(int)(devices[chosen_drive].events),
(int)(devices[most_recent].events));
- fd = open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
+ fd = dev_open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
if (fd < 0) {
fprintf(stderr, Name ": Couldn't open %s for write - not updating\n",
devices[chosen_drive].devname);
@@ -468,7 +468,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
if (!devices[j].uptodate)
continue;
chosen_drive = j;
- if ((fd=open(devices[j].devname, O_RDONLY|O_EXCL))< 0) {
+ if ((fd=dev_open(devices[j].devname, O_RDONLY|O_EXCL))< 0) {
fprintf(stderr, Name ": Cannot open %s: %s\n",
devices[j].devname, strerror(errno));
return 1;
@@ -534,7 +534,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
if (change) {
int fd;
- fd = open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
+ fd = dev_open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
if (fd < 0) {
fprintf(stderr, Name ": Could open %s for write - cannot Assemble array.\n",
devices[chosen_drive].devname);