if (st && st->ss->external && sparedisks) {
fprintf(stderr,
Name ": This metadata type does not support "
- "spare disks are create time\n");
+ "spare disks at create time\n");
return 1;
}
if (subdevs > raiddisks+sparedisks) {
raiddisks,
chunk, size*2, dname,
&freesize,
- verbose > 0)) {
+ verbose >= 0)) {
fprintf(stderr,
Name ": %s is not suitable for "
for (i=0; ddf_level_num[i].num1 != MAXINT; i++)
if (ddf_level_num[i].num2 == level)
break;
- if (ddf_level_num[i].num1 == MAXINT)
+ if (ddf_level_num[i].num1 == MAXINT) {
+ if (verbose)
+ fprintf(stderr, Name ": DDF does not support level %d arrays\n",
+ level);
return 0;
+ }
/* Should check layout? etc */
if (st->sb && freesize) {
if (verbose)
fprintf(stderr,
Name ": ddf: Cannot create this array "
- "on device %s\n",
+ "on device %s - a container is required.\n",
dev);
return 0;
}
struct extent *e;
int i;
/* ddf/bvd supports lots of things, but not containers */
- if (level == LEVEL_CONTAINER)
+ if (level == LEVEL_CONTAINER) {
+ if (verbose)
+ fprintf(stderr, Name ": DDF cannot create a container within an container\n");
return 0;
+ }
/* We must have the container info already read in. */
if (!ddf)
return 0;
case 1:
case 10:
case 5:
- break;
+ return 0;
default:
+ if (verbose)
+ fprintf(stderr, Name
+ ": IMSM only supports levels 0,1,5,10\n");
return 1;
}
unsigned long long ldsize;
int fd;
- if (level == LEVEL_CONTAINER)
+ if (level == LEVEL_CONTAINER) {
+ if (verbose)
+ fprintf(stderr, Name ": 0.90 metadata does not support containers\n");
return 0;
- if (raiddisks > MD_SB_DISKS)
+ }
+ if (raiddisks > MD_SB_DISKS) {
+ if (verbose)
+ fprintf(stderr, Name ": 0.90 metadata supports at most %d devices per array\n",
+ MD_SB_DISKS);
return 0;
- if (size > (0x7fffffffULL<<9))
+ }
+ if (size > (0x7fffffffULL<<9)) {
+ if (verbose)
+ fprintf(stderr, Name ": 0.90 metadata supports at most 2 terrabytes per device\n");
return 0;
+ }
if (!subdev)
return 1;
unsigned long long ldsize;
int fd;
- if (level == LEVEL_CONTAINER)
+ if (level == LEVEL_CONTAINER) {
+ if (verbose)
+ fprintf(stderr, Name ": 1.x metadata does not support containers\n");
return 0;
+ }
if (!subdev)
return 1;