- } else if ((size >= 0) + (raiddisks != 0) + (layout != UnSet) + (bitmap_file != NULL)> 1) {
- fprintf(stderr, Name ": can change at most one of size, raiddisks, bitmap, and layout\n");
- rv = 1;
- break;
- } else if (layout != UnSet)
- rv = Manage_reconfig(devlist->devname, mdfd, layout);
- else if (size >= 0 || raiddisks)
- rv = Grow_reshape(devlist->devname, mdfd, quiet, backup_file,
- size, level, layout, chunk, raiddisks);
- else if (bitmap_file) {
- if (delay == 0) delay = DEFAULT_BITMAP_DELAY;
+ } else if (bitmap_file) {
+ if (size >= 0 || raiddisks || chunk ||
+ layout_str != NULL || devs_found > 1) {
+ fprintf(stderr, Name ": --bitmap changes cannot be "
+ "used with other geometry changes "
+ "in --grow mode\n");
+ rv = 1;
+ break;
+ }
+ if (delay == 0)
+ delay = DEFAULT_BITMAP_DELAY;