Re: [PATCH 5/6] md-cluster: Fix the remove sequence with the new MD reload code

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

 



On Fri, Nov 06 2015, rgoldwyn@xxxxxxx wrote:

> From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
>
> The remove disk message does not need metadata_update_start(), but
> can be an independent message.

This looks good.
Applied - thanks.

NeilBrown


>
> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx>
> ---
>  drivers/md/md-cluster.c | 2 +-
>  drivers/md/md.c         | 9 +--------
>  2 files changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c
> index 9a36ad6..33f5d7a 100644
> --- a/drivers/md/md-cluster.c
> +++ b/drivers/md/md-cluster.c
> @@ -1018,7 +1018,7 @@ static int remove_disk(struct mddev *mddev, struct md_rdev *rdev)
>  	struct md_cluster_info *cinfo = mddev->cluster_info;
>  	cmsg.type = cpu_to_le32(REMOVE);
>  	cmsg.raid_slot = cpu_to_le32(rdev->desc_nr);
> -	return __sendmsg(cinfo, &cmsg);
> +	return sendmsg(cinfo, &cmsg);
>  }
>  
>  static int gather_bitmaps(struct md_rdev *rdev)
> diff --git a/drivers/md/md.c b/drivers/md/md.c
> index 65b6326..4222285 100644
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -6045,15 +6045,11 @@ static int hot_remove_disk(struct mddev *mddev, dev_t dev)
>  {
>  	char b[BDEVNAME_SIZE];
>  	struct md_rdev *rdev;
> -	int ret = -1;
>  
>  	rdev = find_rdev(mddev, dev);
>  	if (!rdev)
>  		return -ENXIO;
>  
> -	if (mddev_is_clustered(mddev))
> -		ret = md_cluster_ops->metadata_update_start(mddev);
> -
>  	if (rdev->raid_disk < 0)
>  		goto kick_rdev;
>  
> @@ -6064,7 +6060,7 @@ static int hot_remove_disk(struct mddev *mddev, dev_t dev)
>  		goto busy;
>  
>  kick_rdev:
> -	if (mddev_is_clustered(mddev) && ret == 0)
> +	if (mddev_is_clustered(mddev))
>  		md_cluster_ops->remove_disk(mddev, rdev);
>  
>  	md_kick_rdev_from_array(rdev);
> @@ -6073,9 +6069,6 @@ kick_rdev:
>  
>  	return 0;
>  busy:
> -	if (mddev_is_clustered(mddev) && ret == 0)
> -		md_cluster_ops->metadata_update_cancel(mddev);
> -
>  	printk(KERN_WARNING "md: cannot remove active disk %s from %s ...\n",
>  		bdevname(rdev->bdev,b), mdname(mddev));
>  	return -EBUSY;
> -- 
> 1.8.5.6

Attachment: signature.asc
Description: PGP signature


[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