-#ifndef MDASSEMBLE
- if (st->ss->external) {
- char ver[100];
- strcat(strcpy(ver, "external:"), info.text_version);
- sra = sysfs_read(mdfd, 0, 0);
- 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");
- return 1;
- }
- rv = sysfs_set_array(sra, &info);
- } else
-#endif
- if ((vers % 100) >= 1) { /* can use different versions */
- mdu_array_info_t inf;
- memset(&inf, 0, sizeof(inf));
- inf.major_version = info.array.major_version;
- inf.minor_version = info.array.minor_version;
- rv = ioctl(mdfd, SET_ARRAY_INFO, &inf);
- } else
- rv = ioctl(mdfd, SET_ARRAY_INFO, NULL);
-