- if (st->ss->external) {
- char ver[100];
- strcat(strcpy(ver, "external:"),
- info.text_version);
- if (st->ss->external && st->subarray[0]) {
- /* member */
-
- /* When creating a member, we need to be careful
- * to negotiate with mdmon properly.
- * If it is already running, we cannot write to
- * the devices and must ask it to do that part.
- * If it isn't running, we write to the devices,
- * and then start it.
- * We hold an exclusive open on the container
- * device to make sure mdmon doesn't exit after
- * we checked that it is running.
- *
- * For now, fail if it is already running.
- */
- container_fd = open_dev_excl(st->container_dev);
- if (container_fd < 0) {
- fprintf(stderr, Name ": Cannot get exclusive "
- "open on container - weird.\n");
- return 1;
- }
- if (mdmon_running(st->container_dev)) {
- if (verbose)
- fprintf(stderr, Name ": reusing mdmon "
- "for %s.\n",
- devnum2devname(st->container_dev));
- st->update_tail = &st->updates;
- } else
- need_mdmon = 1;
- }
- if ((vers % 100) < 2 ||
- sra == NULL ||
- sysfs_set_str(sra, NULL, "metadata_version",
- ver) < 0) {
- fprintf(stderr, Name ": This kernel does not "
- "support external metadata.\n");
+ if (st->ss->external && st->subarray[0]) {
+ /* member */
+
+ /* When creating a member, we need to be careful
+ * to negotiate with mdmon properly.
+ * If it is already running, we cannot write to
+ * the devices and must ask it to do that part.
+ * If it isn't running, we write to the devices,
+ * and then start it.
+ * We hold an exclusive open on the container
+ * device to make sure mdmon doesn't exit after
+ * we checked that it is running.
+ *
+ * For now, fail if it is already running.
+ */
+ container_fd = open_dev_excl(st->container_dev);
+ if (container_fd < 0) {
+ fprintf(stderr, Name ": Cannot get exclusive "
+ "open on container - weird.\n");