Fixing slow IDE drives in XenExpress

A few days ago I wrote about how XenExpress was an exciting Xen distribution that was hindered by a few little bugs. In my case my IDE drives performed very slowly because DMA flags were not being set correctly. This was caused by the fact the generic-ide kernel module had been compiled directly into the Linux kernel (rather than being left as a module).

Thanks to a tip from Partha Ramachandran on the XenSource user forum I added ide0=0 ide1=0 to /boot/grub/grub.conf which stopped generic-ide from grabbing the two IDE channels. This allowed the amd74xx module to correctly connect to and configure the drives.

The only downside in this process was that /dev/hda and /dev/hdd became /dev/hde and /dev/hdh. This caused issues in the boot process as initially the kernel became aware of /dev/hda and expected it to still be present on the system. To get around this problem I changed the root=/-main flag in grub.conf to root=/dev/hde1 and the same in /etc/fstab. This meant the relevant line in /boot/grub/grub.conf went as follows: