diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-11-26 15:39:51 -0700 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-27 15:30:39 +1100 |
commit | f20c3968363a16f3c8dce5d69863bbb54a4d236e (patch) | |
tree | c96904d976647f1051b9f3dbc2cf72c27b428624 /Manage.c | |
parent | fabbfd48b6c2398a344d2d4f7cbf0ab98181a6d4 (diff) | |
download | mdadm-f20c3968363a16f3c8dce5d69863bbb54a4d236e.tar.gz mdadm-f20c3968363a16f3c8dce5d69863bbb54a4d236e.tar.xz mdadm-f20c3968363a16f3c8dce5d69863bbb54a4d236e.zip |
allow add_to_super to return errors
Prepare add_to_super to validate disks against the platform capabilities
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'Manage.c')
-rw-r--r-- | Manage.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -624,8 +624,13 @@ int Manage_subdevs(char *devname, int fd, if (dv->writemostly == 1) disc.state |= 1 << MD_DISK_WRITEMOSTLY; dfd = open(dv->devname, O_RDWR | O_EXCL|O_DIRECT); - tst->ss->add_to_super(tst, &disc, dfd, - dv->devname); + if (tst->ss->add_to_super(tst, &disc, dfd, + dv->devname)) { + fprintf(stderr, Name ": failed to add %s\n", + dv->devname); + close(dfd); + return 1; + } /* write_init_super will close 'dfd' */ if (tst->ss->external) /* mdmon will write the metadata */ |