From 8b0dabea0762e2cd786c1539845823ecd914657a Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 5 Dec 2005 05:52:50 +0000 Subject: 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 --- Assemble.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Assemble.c') 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); -- cgit