Re: [PATCH 8/9] FIX: Set 'active' array state before array configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 09 Mar 2011 14:46:34 +0100 Adam Kwolek <adam.kwolek@xxxxxxxxx> wrote:

> For not reshaped array in container during assembly array is in auto-read-only state.
> It is not possible to set disk slot for such array and later reshape cannot be started also.
> To move array from 'auto-read-only' to 'active' state storing 'active' state
> to sysfs is added. This allows for disks configuration and reshape.
> 
> During reshaped array restart it is disabled by condition on restart variable.
> 
> When reshape is starting, storing 'active' state
> to already active array should not matter.
> 
> Signed-off-by: Adam Kwolek <adam.kwolek@xxxxxxxxx>
> ---
> 
>  Grow.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/Grow.c b/Grow.c
> index e392290..9a831f4 100644
> --- a/Grow.c
> +++ b/Grow.c
> @@ -1654,6 +1654,15 @@ static int reshape_array(char *container, int fd, char *devname,
>  		info->new_level = UnSet;
>  		msg = analyse_change(info, &reshape);
>  		info->new_level = new_level;
> +		if (!restart) {
> +			sra = sysfs_read(fd, 0, GET_VERSION);
> +			if (sra) {
> +				sysfs_set_str(sra, NULL,
> +					      "array_state", "active");
> +				sysfs_free(sra);
> +				sra = NULL;
> +			}
> +		}
>  	} else
>  		msg = analyse_change(info, &reshape);
>  	if (msg) {
> 

I changed this to just use the RESTART_ARRAY_RW ioctl instead.

Thanks,
NeilBrown

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux