summaryrefslogtreecommitdiffstats
path: root/udev
diff options
context:
space:
mode:
authorJonathan Earl Brassow <jbrassow@redhat.com>2012-02-23 03:57:23 +0000
committerJonathan Earl Brassow <jbrassow@redhat.com>2012-02-23 03:57:23 +0000
commit9bdfb30720ee7a5ea66bd47d5f5834fffce73681 (patch)
tree96ad95dea3062a020a15426f109f4655feea340e /udev
parentd860272b006731cd675f708994a93650729dd11c (diff)
downloadlvm2-9bdfb30720ee7a5ea66bd47d5f5834fffce73681.tar.gz
lvm2-9bdfb30720ee7a5ea66bd47d5f5834fffce73681.tar.xz
lvm2-9bdfb30720ee7a5ea66bd47d5f5834fffce73681.zip
Fix allocation code to allow replacement of single RAID 4/5/6 device.
The code fail to account for the case where we just need a single device in a RAID 4/5/6 array. There is no good way to tell the allocation functions that we don't need parity devices when we are allocating just a single device. So, I've used a bit of a hack. If we are allocating an area_count that is <= the parity count, then we can assume we are simply allocating a replacement device (i.e. no need to include parity devices in the calculations). This should make sense in most cases. If we need to allocate replacement devices due to failure (or moving), we will never allocate more than the parity count; or we would cause the array to become unusable. If we are creating a new device, we should always create more stripes than parity devices.
Diffstat (limited to 'udev')
0 files changed, 0 insertions, 0 deletions