diff options
author | Neil Brown <neilb@suse.de> | 2005-12-05 05:52:50 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2005-12-05 05:52:50 +0000 |
commit | 8b0dabea0762e2cd786c1539845823ecd914657a (patch) | |
tree | 0a6b3a8c089910f963fa180c47996343fdef43e9 /Assemble.c | |
parent | d9d4e4698f11b937c42f1c983aca57fd50038a73 (diff) | |
download | mdadm-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.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -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); |