1. 06 Nov, 2008 3 commits
    • Andre Noll's avatar
      md: linear: Fix a division by zero bug for very small arrays. · f1cd14ae
      Andre Noll authored
      We currently oops with a divide error on starting a linear software
      raid array consisting of at least two very small (< 500K) devices.
      
      The bug is caused by the calculation of the hash table size which
      tries to compute sector_div(sz, base) with "base" being zero due to
      the small size of the component devices of the array.
      
      Fix this by requiring the hash spacing to be at least one which
      implies that also "base" is non-zero.
      
      This bug has existed since about 2.6.14.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarAndre Noll <maan@systemlinux.org>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      f1cd14ae
    • NeilBrown's avatar
      md: fix bug in raid10 recovery. · a53a6c85
      NeilBrown authored
      Adding a spare to a raid10 doesn't cause recovery to start.
      This is due to an silly type in
        commit 6c2fce2e
      and so is a bug in 2.6.27 and .28-rc.
      
      Thanks to Thomas Backlund for bisecting to find this.
      
      Cc: Thomas Backlund <tmb@mandriva.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      a53a6c85
    • NeilBrown's avatar
      md: revert the recent addition of a call to the BLKRRPART ioctl. · cb3ac42b
      NeilBrown authored
      It turns out that it is only safe to call blkdev_ioctl when the device
      is actually open (as ->bd_disk is set to NULL on last close).  And it
      is quite possible for do_md_stop to be called when the device is not
      open.  So discard the call to blkdev_ioctl(BLKRRPART) which was
      added in
         commit 934d9c23
      
      It is just as easy to call this ioctl from userspace when needed (on
      mdadm -S) so leave it out of the kernel
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      cb3ac42b
  2. 02 Nov, 2008 19 commits
  3. 01 Nov, 2008 16 commits
  4. 31 Oct, 2008 2 commits