return 0;
}
-int Manage_reconfig(char *devname, int fd, int layout)
-{
- mdu_array_info_t info;
- if (ioctl(fd, GET_ARRAY_INFO, &info) != 0) {
- fprintf(stderr, Name ": Cannot get array information for %s: %s\n",
- devname, strerror(errno));
- return 1;
- }
- info.layout = layout;
- printf("layout set to %d\n", info.layout);
- if (ioctl(fd, SET_ARRAY_INFO, &info) != 0) {
- fprintf(stderr, Name ": Cannot set layout for %s: %s\n",
- devname, strerror(errno));
- return 1;
- }
- return 0;
-}
-
int Manage_subdevs(char *devname, int fd,
mddev_dev_t devlist, int verbose)
{
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)
+ } else if (size >= 0 || raiddisks || layout != UnSet)
rv = Grow_reshape(devlist->devname, mdfd, quiet, backup_file,
size, level, layout, chunk, raiddisks);
else if (bitmap_file) {
extern int Manage_ro(char *devname, int fd, int readonly);
extern int Manage_runstop(char *devname, int fd, int runstop, int quiet);
extern int Manage_resize(char *devname, int fd, long long size, int raid_disks);
-extern int Manage_reconfig(char *devname, int fd, int layout);
extern int Manage_subdevs(char *devname, int fd,
mddev_dev_t devlist, int verbose);
extern int autodetect(void);