diff options
author | NeilBrown <neilb@suse.de> | 2011-05-23 17:21:37 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-05-23 17:21:37 +1000 |
commit | 58b3c6976a61ed5481d3b67548b4f2fe43b86165 (patch) | |
tree | 3d69151ff145b1c39d6dde1d309360f8ca2576c5 | |
parent | 3d9d18808772219ee44cae4bf413e7e0b3e3ab30 (diff) | |
download | mdadm-58b3c6976a61ed5481d3b67548b4f2fe43b86165.tar.gz |
Restore ability to create imsm array from specific devices.
A recent change to improve error messages make it not possible to
create an array from devices that are 'busy'. However if they are
made busy by a container, then the create should be allowed.
So move one of the error messages later.
Reported-by: "Wojcik, Krzysztof" <krzysztof.wojcik@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | Create.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -302,7 +302,7 @@ int Create(struct supertype *st, char *mddev, missing_disks ++; continue; } - dfd = open(dname, O_RDONLY|O_EXCL); + dfd = open(dname, O_RDONLY); if (dfd < 0) { fprintf(stderr, Name ": cannot open %s: %s\n", dname, strerror(errno)); @@ -345,6 +345,12 @@ int Create(struct supertype *st, char *mddev, } if (!st) { + int dfd = open(dname, O_RDONLY|O_EXCL); + if (dfd < 0) { + fprintf(stderr, Name ": cannot open %s: %s\n", + dname, strerror(errno)); + exit(2); + } fprintf(stderr, Name ": device %s not suitable " "for any style of array\n", dname); |