linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] md: fix raid10 takeover: use new_layout for setup_conf
@ 2010-06-15  8:34 Trela, Maciej
  0 siblings, 0 replies; 3+ messages in thread
From: Trela, Maciej @ 2010-06-15  8:34 UTC (permalink / raw)
  To: Neil Brown; +Cc: linux-raid@vger.kernel.org, Williams, Dan J, Ciechanowski, Ed

From: Maciej Trela <maciej.trela@intel.com>

When performing raid0->raid10 takeover setup_conf() is called for initializing private raid10 config.
setup_conf() should use a new layout instead of
mddev->layout when taking over.
Added a new parameter layout to setup_conf().
---
 drivers/md/raid10.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 0372499..a027672 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -2154,7 +2154,7 @@ raid10_size(mddev_t *mddev, sector_t sectors, int raid_disks)  }
 
 
-static conf_t *setup_conf(mddev_t *mddev)
+static conf_t *setup_conf(mddev_t *mddev, int layout)
 {
 	conf_t *conf = NULL;
 	int nc, fc, fo;
@@ -2169,14 +2169,14 @@ static conf_t *setup_conf(mddev_t *mddev)
 		goto out;
 	}
 
-	nc = mddev->layout & 255;
-	fc = (mddev->layout >> 8) & 255;
-	fo = mddev->layout & (1<<16);
+	nc = layout & 255;
+	fc = (layout >> 8) & 255;
+	fo = layout & (1<<16);
 
 	if ((nc*fc) <2 || (nc*fc) > mddev->raid_disks ||
-	    (mddev->layout >> 17)) {
+	    (layout >> 17)) {
 		printk(KERN_ERR "md/raid10:%s: unsupported raid10 layout: 0x%8x\n",
-		       mdname(mddev), mddev->layout);
+		       mdname(mddev), layout);
 		goto out;
 	}
 
@@ -2273,7 +2273,7 @@ static int run(mddev_t *mddev)
 	 */
 
 	if (mddev->private == NULL) {
-		conf = setup_conf(mddev);
+		conf = setup_conf(mddev, mddev->layout);
 		if (IS_ERR(conf))
 			return PTR_ERR(conf);
 		mddev->private = conf;
@@ -2453,7 +2453,7 @@ static void *raid10_takeover_raid0(mddev_t *mddev)
 	/* make sure it will be not marked as dirty */
 	mddev->recovery_cp = MaxSector;
 
-	conf = setup_conf(mddev);
+	conf = setup_conf(mddev, mddev->new_layout);
 	conf->scale_disks = 2;
 	return conf;
 }


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/3] md: fix raid10 takeover: use new_layout for setup_conf
@ 2010-06-16 10:46 Trela, Maciej
  2010-06-17  5:23 ` Neil Brown
  0 siblings, 1 reply; 3+ messages in thread
From: Trela, Maciej @ 2010-06-16 10:46 UTC (permalink / raw)
  To: Neil Brown; +Cc: linux-raid@vger.kernel.org, Williams, Dan J, Ciechanowski, Ed

From: Maciej Trela <maciej.trela@intel.com>

Use mddev->new_layout in setup_conf.

Signed-off-by: Maciej Trela <maciej.trela@intel.com>
---
 drivers/md/raid10.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 9f65dc5..7b47639 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -2169,14 +2169,14 @@ static conf_t *setup_conf(mddev_t *mddev)
 		goto out;
 	}
 
-	nc = mddev->layout & 255;
-	fc = (mddev->layout >> 8) & 255;
-	fo = mddev->layout & (1<<16);
+	nc = mddev->new_layout & 255;
+	fc = (mddev->new_layout >> 8) & 255;
+	fo = mddev->new_layout & (1<<16);
 
 	if ((nc*fc) <2 || (nc*fc) > mddev->raid_disks ||
-	    (mddev->layout >> 17)) {
+	    (mddev->new_layout >> 17)) {
 		printk(KERN_ERR "md/raid10:%s: unsupported raid10 layout: 0x%8x\n",
-		       mdname(mddev), mddev->layout);
+		       mdname(mddev), mddev->new_layout);
 		goto out;
 	}


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/3] md: fix raid10 takeover: use new_layout for setup_conf
  2010-06-16 10:46 [PATCH 1/3] md: fix raid10 takeover: use new_layout for setup_conf Trela, Maciej
@ 2010-06-17  5:23 ` Neil Brown
  0 siblings, 0 replies; 3+ messages in thread
From: Neil Brown @ 2010-06-17  5:23 UTC (permalink / raw)
  To: Trela, Maciej
  Cc: linux-raid@vger.kernel.org, Williams, Dan J, Ciechanowski, Ed

On Wed, 16 Jun 2010 11:46:29 +0100
"Trela, Maciej" <Maciej.Trela@intel.com> wrote:

> From: Maciej Trela <maciej.trela@intel.com>
> 
> Use mddev->new_layout in setup_conf.

Thanks.
I added changed for ->chunk_sectors to ->new_chunk_sectors
and removed the setting of ->degraded in takeover().

Applied.

NeilBrown

> 
> Signed-off-by: Maciej Trela <maciej.trela@intel.com>
> ---
>  drivers/md/raid10.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 9f65dc5..7b47639 100644
> --- a/drivers/md/raid10.c
> +++ b/drivers/md/raid10.c
> @@ -2169,14 +2169,14 @@ static conf_t *setup_conf(mddev_t *mddev)
>  		goto out;
>  	}
>  
> -	nc = mddev->layout & 255;
> -	fc = (mddev->layout >> 8) & 255;
> -	fo = mddev->layout & (1<<16);
> +	nc = mddev->new_layout & 255;
> +	fc = (mddev->new_layout >> 8) & 255;
> +	fo = mddev->new_layout & (1<<16);
>  
>  	if ((nc*fc) <2 || (nc*fc) > mddev->raid_disks ||
> -	    (mddev->layout >> 17)) {
> +	    (mddev->new_layout >> 17)) {
>  		printk(KERN_ERR "md/raid10:%s: unsupported raid10 layout: 0x%8x\n",
> -		       mdname(mddev), mddev->layout);
> +		       mdname(mddev), mddev->new_layout);
>  		goto out;
>  	}


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-06-17  5:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-16 10:46 [PATCH 1/3] md: fix raid10 takeover: use new_layout for setup_conf Trela, Maciej
2010-06-17  5:23 ` Neil Brown
  -- strict thread matches above, loose matches on Subject: below --
2010-06-15  8:34 Trela, Maciej

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).