Bug#443687: mdadm: Growing an array ends with "access beyond end of device" errors
Carlos Rodrigues
carlos.efr at mail.telepac.pt
Sun Sep 23 12:05:02 UTC 2007
Package: mdadm
Version: 2.5.6-9
Severity: important
When a RAID1 array is grown using:
mdadm --grow --size=max /dev/md0
It seems to work correctly at first, but the resync process ends with
"attempt to access beyond end of device" errors (usually associated with the
first disk in the array, which is immediately marked faulty).
This only happens when the array has version-1 metadata/superblock (tested
with an array created with the "--metadata=1.1" option) and the "--size=max"
option is specified.
If the array uses the default superblock version, using "--size=max" works
as expected. It also works as expected if (with version-1 superblocks) one
uses "--size=n" where "n" is (at most) the number of KB of the smallest
device minus 128KB.
So, for version-1 superblocks, "--size=max" really tries to grow the array
to the real maximum size, whereas with the default version "--size=max"
tries to grow the array to the maximum _usable_ size. This goes against
what's stated in the manpage: that using "--size=max" can be used to get
mdadm to choose the right size automatically, whatever the superblock
version may be.
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-k7
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Versions of packages mdadm depends on:
ii debconf [debconf-2.0] 1.5.11 Debian configuration management sy
ii libc6 2.3.6.ds1-13etch2 GNU C Library: Shared libraries
ii lsb-base 3.1-23.2etch1 Linux Standard Base 3.1 init scrip
ii makedev 2.3.1-83 creates device files in /dev
Versions of packages mdadm recommends:
ii exim4-daemon-light [mail-tran 4.63-17 lightweight exim MTA (v4) daemon
ii module-init-tools 3.3-pre4-2 tools for managing Linux kernel mo
More information about the pkg-mdadm-devel
mailing list