Hi everyone,
I posted on this topic earlier but in French and, apparently, that wasn’t a good choice of language or them dudes are all on vacation. So here goes the same in English, in the hope to reach a larger audience. This post is meant to serve two purposes:
1/ to inform whoever’s maintaining the partitioner about a possible severe bug and a couple design issues,
2/ to warn the user community at large about the same and suggest a course of action to protect data.
A few days ago I tried installing openSUSE 12.2 RC1 on a brand new PC, UEFI-aware BIOS, and a new 500GB system disk purchased just for the occasion. I also have 5 other internal disks, totalling 12TB and containing 5TB worth of precious data, which I naturally installed in the box. Due to various incompatibilities between BIOS settings and bootloaders, I’ve had to restart that installation 4 or 5 times and what I’m about to describe only happened during the next-to-last installation.
The installation starts correctly and eventually invokes the partitioner. I select custom partitioning for experts, as I’ve always done since installing openSUSE 9.3 and all its successors for the past ten or so years. To make certain I’m about to change the partition table for the correct device, I go through the list of devices one by one, making sure sda through sdd have been attributed to disks labelled video1 through video4, sde attributed to disk labelled audio, and finally sdf attributed to my new 500GB system disk. During that checking procedure I also expand the list of partitions present on each disk and make sure they contain what they are supposed to contain, i.e. /video1 on device video1 and so on. Everything was ok.
I then proceed to propose a new partition table (GPT) and partition setup for that system disk: 30GB for /, 16GB for swap, 200GB for /home and the remainder, some 210GB, for a partition named /backup which is in fact more of a data cellar. I accept the changes and get back to the main partitioner window. Just before moving on with the rest of the installation, I again go through the list of devices (better safe than sorry) and that’s when I saw it: the partitioner had replaced partition /video1 on device video1 seen as sda with what looked like a default partition proposal. From memory it had 3 partitions: 10 or 20GB for /, 2 or 4GB (not sure) for swap and the rest of that 2TB disk for /home. /video1 had disappeared!
Naturally when faced with such unexpected behaviour, my first reflex was to press on the on/off switch, open the box, immediately unplug any disk containing data and not directly useful for the installation of openSUSE. Which is why I can’t provide screenshots or more accurate information as to those default-looking partition sizes and I’m definitely NOT going to try this heart-stopping experiment to help anyone reproduce that incident.
I then proceeded to re-install openSUSE from scratch on that single system disk, repartitioning from scratch, new partition table, etc, all other disks being unplugged during the operation. After reboot and proper startup of Suzie, I turned the whole thing off, reconnected my 5 data disks and rebooted. O surprise, disk video1 still contained partition /video1 with all its contents. It wasn’t really a surprise, since I hadn’t started any irreversible action on those disks but the period was tense nonetheless.
My advice to the user community at large: I’ve read from another user on this forum that he disconnects all his disks except the intended system disk during installations. Many others were making fun of him. He was absolutely correct though, I can tell you that. My only mistake was to have read his advice, thinking it made a lot of sense, and not applied it 2 days later during that chain of installations. Having said that, had I done what he suggests… I would never have seen what appears to be a nasty bug.
To the maintainers and would-be re-designers of the partitioner:
1/ The application knows when a disk contains a GPT or MS-DOS partition type, for the simple reason that it offers a choice between the two options when expert-repartitioning a disk. Why doesn’t it show on the interface? Why is the only available method for a normal user to expert-repartition a disk in order to find out which type of partition table it contains? Why??? Ok, I think I know why, so my question should really be: when??? Before or after Suzie is made obsolete by the combined efforts of MicroCrap, mainboard and disk manufacturers?
As a side-note on this topic, I found out that the “disks” application (in system tools) enables users to see a cryptic partition type expressed in hexadecimal at first, just when a disk has been re-partitioned, which later changes to a non-descript “Basic data” once you reboot your system. I kinda s’pose that an informed guess would be that “Basic data” means GPT partition type but… ahem… users are best left in darkness about such things, right? Then again Suzie might lose her charms if her developers started calling a cat a cat.
2/ I’m speaking here as software designer, not necessarily Linux user. The main job of a partitioner is to change the partitioning scheme on connected disks. Yes, one may argue about the benefits of RAID, LVM, or include them in this conversation if one wishes, but within the context of using Suzie at home with 2 to 6 internal disks, most of us merely want the partitioner to be able to perform that “simplest” of tasks.
So we’re facing a state-shift situation, the famous before-state and after-state. Any 3-year old, provided his daddy’s named Linus, knows about before/after states. They’re more readily understandable when both faces of the situation are presented to the user and, what’s best, a dual view allows to spot at a glance those rare cases when the partitioner imposes a setup by default on a disk about which you had asked absolutely nothing in terms of changes.
So my input on the matter is: why not show these two states side by side on the interface, at least for the list of devices and the partitions they contain? Before on the left and after on the right, or above/below if you wish to cater to the Chinese market, with some sort of colour-coding such as red/green (change/no change on device). Not being able to see the previous setup of a disk, particularly when the partitioner decides of its own accord (in expert mode, I repeat) to implant a default setup where you had no intention to see one, is not really user-friendly. Could greatly be improved.
Usual disclaimer: I’ve been designing/writing/maintaining/debugging software for the last 30 years, do not drink when I touch a keyboard, always think twice before hitting a key or clicking on a mouse, so no… I didn’t dream this. Trust me, it just happened.