From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932171AbWGGOht (ORCPT ); Fri, 7 Jul 2006 10:37:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932167AbWGGOhs (ORCPT ); Fri, 7 Jul 2006 10:37:48 -0400 Received: from lucidpixels.com ([66.45.37.187]:46740 "EHLO lucidpixels.com") by vger.kernel.org with ESMTP id S932119AbWGGOhs (ORCPT ); Fri, 7 Jul 2006 10:37:48 -0400 Date: Fri, 7 Jul 2006 10:37:46 -0400 (EDT) From: Justin Piszcz X-X-Sender: jpiszcz@p34.internal.lan To: linux-kernel@vger.kernel.org cc: linux-raid@vger.kernel.org, neilb@suse.de Subject: Re: Kernel 2.6.17 and RAID5 Grow Problem (critical section backup) In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 7 Jul 2006, Justin Piszcz wrote: > On Fri, 7 Jul 2006, Justin Piszcz wrote: > >> On Fri, 7 Jul 2006, Justin Piszcz wrote: >> >>> p34:~# mdadm /dev/md3 -a /dev/hde1 >>> mdadm: added /dev/hde1 >>> >>> p34:~# mdadm -D /dev/md3 >>> /dev/md3: >>> Version : 00.90.03 >>> Creation Time : Fri Jun 30 09:17:12 2006 >>> Raid Level : raid5 >>> Array Size : 1953543680 (1863.04 GiB 2000.43 GB) >>> Device Size : 390708736 (372.61 GiB 400.09 GB) >>> Raid Devices : 6 >>> Total Devices : 7 >>> Preferred Minor : 3 >>> Persistence : Superblock is persistent >>> >>> Update Time : Fri Jul 7 08:25:44 2006 >>> State : clean >>> Active Devices : 6 >>> Working Devices : 7 >>> Failed Devices : 0 >>> Spare Devices : 1 >>> >>> Layout : left-symmetric >>> Chunk Size : 512K >>> >>> UUID : e76e403c:7811eb65:73be2f3b:0c2fc2ce >>> Events : 0.232940 >>> >>> Number Major Minor RaidDevice State >>> 0 22 1 0 active sync /dev/hdc1 >>> 1 56 1 1 active sync /dev/hdi1 >>> 2 3 1 2 active sync /dev/hda1 >>> 3 8 49 3 active sync /dev/sdd1 >>> 4 88 1 4 active sync /dev/hdm1 >>> 5 8 33 5 active sync /dev/sdc1 >>> >>> 6 33 1 - spare /dev/hde1 >>> p34:~# mdadm --grow /dev/md3 --raid-disks=7 >>> mdadm: Need to backup 15360K of critical section.. >>> mdadm: Cannot set device size/shape for /dev/md3: No space left on device >>> p34:~# mdadm --grow /dev/md3 --bitmap=internal --raid-disks=7 >>> mdadm: can change at most one of size, raiddisks, bitmap, and layout >>> p34:~# umount /dev/md3 >>> p34:~# mdadm --grow /dev/md3 --raid-disks=7 >>> mdadm: Need to backup 15360K of critical section.. >>> mdadm: Cannot set device size/shape for /dev/md3: No space left on device >>> p34:~# >>> >>> The disk only has about 350GB of 1.8TB used, any idea why I get this >>> error? >>> >>> I searched google but could not find anything on this issue when trying to >>> grow the array? >>> >>> >>> - >>> To unsubscribe from this list: send the line "unsubscribe linux-raid" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> Is it because I use a 512kb chunksize? >> >> Jul 7 08:44:59 p34 kernel: [4295845.933000] raid5: reshape: not enough >> stripes. Needed 512 >> Jul 7 08:44:59 p34 kernel: [4295845.962000] md: couldn't update array >> info. -28 >> >> So the RAID5 reshape only works if you use a 128kb or smaller chunk size? >> >> Justin. >> - >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ >> > >> From the source: > > /* Can only proceed if there are plenty of stripe_heads. > @@ -2599,30 +2593,48 @@ static int raid5_reshape(mddev_t *mddev, > * If the chunk size is greater, user-space should request more > * stripe_heads first. > */ > - if ((mddev->chunk_size / STRIPE_SIZE) * 4 > conf->max_nr_stripes) { > + if ((mddev->chunk_size / STRIPE_SIZE) * 4 > conf->max_nr_stripes || > + (mddev->new_chunk / STRIPE_SIZE) * 4 > conf->max_nr_stripes) { > printk(KERN_WARNING "raid5: reshape: not enough stripes. Needed %lu\n", > (mddev->chunk_size / STRIPE_SIZE)*4); > return -ENOSPC; > } > > I don't see anything that mentions one needs to use a certain chunk size? > > Any idea what the problem is here? > > Justin. > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > Neil, Any comments? Justin.