Description of problem: Having an unlabeled swap partition on an IDE drive (/dev/hdX) aborts anaconda. Version-Release number of selected component (if applicable): Initial release. How reproducible: Every time. Steps to Reproduce: 1. Have /dev/hda7, for example, as filesystem (not label) in /etc/fstab for swap. 2. Run anaconda 3. Watch for popup box "Error enabling swap device hda7: No such file or directory. The /etc/fstab on your upgrade partition does not reference a valid swap partition. Press OK to reboot your system. Actual results: Upgrade to F7 from FC6 aborted. Expected results: Upgrade to continue. Additional info: This machine has been upgraded sequentially over several years from IIRC FC4. Somewhere along the way, the swap partition wasn't labeled and the change wasn't made in /etc/fstab. The real cause for excitement here is that nowhere that I'm aware of is /etc/fstab required to have filesystem labels. Yet anaconda depends upon them now with F7 on IDE drives as a result of the new unified IDE driver that calls all IDE drives sd. anaconda should not merely rely upon filesystem labels.
The problem is that without referencing the partitions by label, there is no way at all to map from the old device name to the new device name. All we can do is catch the case and tell you that you need to use labels or something else that is actually persistent to the disk/filesystem.
CANTFIX? Odd. The labeling was added at some point in Fedora's evolution. That required some search and replace logic... I've also found another machine that's been around for a while with the same issue, namely all filesystems labeled except for swap. I'll have to "mkswap -L" it too before upgrading. And what's so hard about substituting sd for hd references in the /mnt/sysimage/etc/fstab file once anaconda gets to it? Or looking for swap partitions? That's not so hard I'd think. I'll freely admit that there may be edge cases here, but... Also, documentation needs to be updated to disallow the use of non-labeled filesystems for any and all filesystems that will be touched by anaconda. Ironic, isn't it, that anaconda can't eat its own dog food.