diff options
author | Neil Brown <neilb@suse.de> | 2005-04-11 00:20:03 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2005-04-11 00:20:03 +0000 |
commit | 0fbf459d0d3c8cb0b050468c27f8e6bcc0db5d7d (patch) | |
tree | 18f2eac36a69bb0a65a0799b2a5755f4e8973544 | |
parent | 75aa592c2bd60c250e8781d42972f85c13febd0b (diff) | |
download | mdadm-0fbf459d0d3c8cb0b050468c27f8e6bcc0db5d7d.tar.gz mdadm-0fbf459d0d3c8cb0b050468c27f8e6bcc0db5d7d.tar.xz mdadm-0fbf459d0d3c8cb0b050468c27f8e6bcc0db5d7d.zip |
Fix embarassing bug in 1.10.0 which broke --add
Use a different variable to old result of open
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Manage.c | 7 |
2 files changed, 7 insertions, 3 deletions
@@ -1,3 +1,6 @@ +Changes Prior to this release + - Fix embarassing bug which causes --add to always fail. + Changes Prior to 1.10.0 release - Fix bug with --config=partitions - Open sub-devices with O_EXCL to detect if already in use @@ -168,6 +168,7 @@ int Manage_subdevs(char *devname, int fd, mddev_dev_t dv; struct stat stb; int j; + int tfd; int save_errno; static char buf[4096]; @@ -195,13 +196,13 @@ int Manage_subdevs(char *devname, int fd, case 'a': /* add the device - hot or cold */ /* Make sure it isn' in use (in 2.6 or later) */ - fd = open(dv->devname, O_RDONLY|O_EXCL); - if (fd < 0) { + tfd = open(dv->devname, O_RDONLY|O_EXCL); + if (tfd < 0) { fprintf(stderr, Name ": Cannot open %s: %s\n", dv->devname, strerror(errno)); return 1; } - close(fd); + close(tfd); if (ioctl(fd, HOT_ADD_DISK, (unsigned long)stb.st_rdev)==0) { fprintf(stderr, Name ": hot added %s\n", dv->devname); |