Re: [PATCH 03/10] mdadm/Grow: Can't open raid when running --grow --continue

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

 



On Wed, 28 Aug 2024 10:11:43 +0800
Xiao Ni <xni@xxxxxxxxxx> wrote:

> It passes 'array' as devname in Grow_continue. So it fails to
> open raid device. Use mdinfo to open raid device.
> 
> Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
> ---
>  Grow.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/Grow.c b/Grow.c
> index 6b621aea4ecc..2a7587315817 100644
> --- a/Grow.c
> +++ b/Grow.c
> @@ -3688,9 +3688,12 @@ started:
>  		set_array_size(st, info, info->text_version);
>  
>  	if (info->new_level != reshape.level) {
> -		if (fd < 0)
> -			fd = open(devname, O_RDONLY);
> -		impose_level(fd, info->new_level, devname, verbose);
> +		fd = open_dev(sra->sys_name);
> +		if (fd < 0) {
> +			pr_err("Can't open %s\n", sra->sys_name);
> +			goto out;
> +		}
> +		impose_level(fd, info->new_level, sra->sys_name, verbose);
>  		close(fd);
>  		if (info->new_level == 0)
>  			st->update_tail = NULL;

You can consider declaring fd locally (inside if) but it is fine anyway.
You can also switch close(fd) to close_fd(&fd); because this resource is
probably reused later in the function body.

Anyway, LGTM but I will run my internal IMSM test suite to confirm that there is
no regression for IMSM before I will merge patchset.

Thanks,
Mariusz




[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