Linux-Raid Archives on lore.kernel.org
 help / color / Atom feed
* "attempt to access beyond end of device" when reshaping raid10 from near=2 to offset=2
@ 2021-01-27 22:15 Daniel Gnoutcheff
  2021-01-28  0:59 ` antlists
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Gnoutcheff @ 2021-01-27 22:15 UTC (permalink / raw)
  To: linux-raid

Greets,

Whilst experimenting with array reshaping, I've found that if I create a 
near=2 raid10 like so:

   for i in 0 1 2 3 ; do
     truncate --size=1G disk$i
     losetup /dev/loop$i disk$i
   done
   mdadm --create /dev/md0 --level=raid10 --raid-devices=4 --layout=n2 \
     --data-offset=10M /dev/loop{0,1,2,3}
   mdadm --wait /dev/md0  # wait for resync

and then try to reshape it to offset=2:

   mdadm --grow /dev/md0 --layout=o2

the reshape repeatedly fails and restarts with something like this in 
dmesg (repetitive messages snipped):

> Jan 27 15:47:07 snaptest kernel: md: reshape of RAID array md0
> Jan 27 15:47:07 snaptest kernel: md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
> Jan 27 15:47:07 snaptest kernel: md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
> Jan 27 15:47:07 snaptest kernel: md: using 128k window, over a total of 2076672k.
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop2: rw=536870912, want=2097280, limit=2097152
> Jan 27 15:47:08 snaptest kernel: md/raid10:md0: Disk failure on loop2, disabling device.
>                                  md/raid10:md0: Operation continuing on 3 devices.
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop0: rw=536870912, want=2097280, limit=2097152
> Jan 27 15:47:08 snaptest kernel: md/raid10:md0: Disk failure on loop0, disabling device.
>                                  md/raid10:md0: Operation continuing on 2 devices.
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop1: rw=536870912, want=2097280, limit=2097152
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop1: rw=536870912, want=2097408, limit=2097152
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop1: rw=536870912, want=2097536, limit=2097152
> Jan 27 15:47:08 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:08 snaptest kernel: loop1: rw=536870912, want=2097664, limit=2097152
<snip>
> Jan 27 15:47:09 snaptest kernel: loop3: rw=536870912, want=2097408, limit=2097152
> Jan 27 15:47:09 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:09 snaptest kernel: loop3: rw=536870912, want=2097536, limit=2097152
> Jan 27 15:47:09 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:09 snaptest kernel: loop3: rw=536870912, want=2097664, limit=2097152
<snip>
> Jan 27 15:47:09 snaptest kernel: loop3: rw=536870912, want=2106368, limit=2097152
> Jan 27 15:47:09 snaptest kernel: md: md0: reshape interrupted.
> Jan 27 15:47:09 snaptest kernel: md: reshape of RAID array md0
> Jan 27 15:47:09 snaptest kernel: md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
> Jan 27 15:47:09 snaptest kernel: md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
> Jan 27 15:47:09 snaptest kernel: md: using 128k window, over a total of 2076672k.
> Jan 27 15:47:09 snaptest kernel: attempt to access beyond end of device
> Jan 27 15:47:09 snaptest kernel: loop1: rw=536870912, want=2107520, limit=2097152
<snip>

and so on until the array is stopped.

This log came from a Debian stretch VM (mdadm v3.4 and kernel 4.9.246 as 
patched and built by Debian), but I see the same behavior in Debian 
buster (mdadm v4.1) with stock and backport kernels (4.19.160 and 
5.9.15, respectively).

I notice that if I stop, re-assemble, and add back the "failed" devices, 
eg.:

   mdadm --assemble /dev/md0 /dev/loop{0,1,2,3}
   mdadm /dev/md0 --add /dev/loop0
   mdadm /dev/md0 --add /dev/loop2

then it recovers and reshapes without complaint.

Have I encountered a bug?

Many thanks,
-- 
Daniel Gnoutcheff
Systems Administrator
Software Freedom Law Center

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

* Re: "attempt to access beyond end of device" when reshaping raid10 from near=2 to offset=2
  2021-01-27 22:15 "attempt to access beyond end of device" when reshaping raid10 from near=2 to offset=2 Daniel Gnoutcheff
@ 2021-01-28  0:59 ` antlists
  2021-01-28 21:50   ` Daniel Gnoutcheff
  0 siblings, 1 reply; 3+ messages in thread
From: antlists @ 2021-01-28  0:59 UTC (permalink / raw)
  To: Daniel Gnoutcheff, linux-raid

On 27/01/2021 22:15, Daniel Gnoutcheff wrote:
> Greets,
> 
> Whilst experimenting with array reshaping, I've found that if I create a 
> near=2 raid10 like so:

I seem to remember this coming up very recently. And I also seem to 
remember them coming up with fixes but I'm not sure if it's solved.

So if you search the archive you should find a recent thread and an 
update should fix it properly soon.

Oh - and as for Stretch, old mdadm and Ubuntu are known to be, shall we 
say, problematic when you reshape an array, so please try not to ... :-)

Cheers,
Wol

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

* Re: "attempt to access beyond end of device" when reshaping raid10 from near=2 to offset=2
  2021-01-28  0:59 ` antlists
@ 2021-01-28 21:50   ` Daniel Gnoutcheff
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Gnoutcheff @ 2021-01-28 21:50 UTC (permalink / raw)
  To: antlists, linux-raid

On 1/27/21 7:59 PM, antlists wrote:
> I seem to remember this coming up very recently. And I also seem to 
> remember them coming up with fixes but I'm not sure if it's solved.
> 
> So if you search the archive you should find a recent thread and an 
> update should fix it properly soon.
> 
> Oh - and as for Stretch, old mdadm and Ubuntu are known to be, shall we 
> say, problematic when you reshape an array, so please try not to ... :-)

Thanks for warning me about reshapes on stretch.  I was in fact planning 
some reshapes on a production stretch system.  I shall reconsider. :)

I would be curious to read the thread in which the raid10 layout reshape 
issue has already been discussed, but I've not been able to find it.  I 
tried 'raid10 reshape', 'raid10 layout reshape', 'raid layout reshape', 
and 'reshape "attempt to access beyond end of device"' in the search box 
at [1], and I've skimmed the subject lines for the last two month's 
worth of messages, but I couldn't find anything applicable.  Are there 
other terms I should try?

[1] https://www.spinics.net/lists/raid/

Many thanks,
-- 
Daniel Gnoutcheff
Systems Administrator
Software Freedom Law Center

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

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-27 22:15 "attempt to access beyond end of device" when reshaping raid10 from near=2 to offset=2 Daniel Gnoutcheff
2021-01-28  0:59 ` antlists
2021-01-28 21:50   ` Daniel Gnoutcheff

Linux-Raid Archives on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-raid/0 linux-raid/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-raid linux-raid/ https://lore.kernel.org/linux-raid \
		linux-raid@vger.kernel.org
	public-inbox-index linux-raid

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-raid


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git